内部类实例化Serializable】的更多相关文章

昨天在做一个java项目的时候,发现下面代码中红色字体那行总是报NotSerializableException,查错误,MyRectangle这个类也明明实现了Serializable接口. 花了大半天,原来发现虽然MyRectangle虽然实现了Serializable接口,但MyRectangle在我的项目中是以内部类的形式定义的, 而内部类不能被序列化! 对于内部类来说,静态的内部类才可以被序列化,在MyRectangle类定义前加个static,问题就解决了. 以后还是提醒自己,尽量少…
内部类有成员内部类,局部内部类,匿名内部类,静态内部类. 1,成员内部类package innerClass; public class InnerClassTest { String s1="我是外部成员变量.."; public static String s2="我是外部静态变量.."; class Inner{ void innerTest(){ String s1="我是内部成员变量"; String s2="我是内部成员变量…
内部类和外部类可以互相访问私有属性 1.普通内部类实例化方式 外部类.内部类 对象 = new 外部类().new 内部类(); class Outer{//外部类 private String msg = "hello word"; class Inner{//定义一个内部类 public void print(){ // Outer.this表示外部类的当前对象 System.out.println(Outer.this.msg); } } } public class Test{…
Java开发知识之Java类的高级特性,内部类.以及包使用.跟常量关键字 一丶Java中包的机制 首先包其实就是个文件夹.作用就是管理类. Java中每次定义一个类的时候.通过Java编译之后.都会生成一个扩展名为.class的文件.但是当这个程序规模逐渐庞大的时候.就很容易发生类名名称冲突的现象. 那么JDK API中. 提供了成千上万的具有各种功能的类.有效的管理就是通过类包来管理. 1.类名冲突 首先我们Java中可能定义一个A类.但是因为业务需要.还需要一个A类.名称一样,可能功能不一样…
内部类访问局部变量为什么必须要用final修饰 看了大概五六篇博客, 讲的内容都差不多, 讲的内容也都很对, 但我觉得有些跑题了 略叙一下 String s = "hello"; class Inner implements Runnable { public void run() { System.out.println(s); } } // s = "world"; Thread t = new Thread(new Inner()); t.start(); j…
前言 其实我们在前面已经初步接触到内部类了,但是我们去对它的作用并不胜了解.只是简单的知道了类的定义也是可以嵌套的,定义在一个类里面的类就是内部类. class out{ private String name; private int age; class in{ private String sex; } public String getName(){ return this.name; } } 但是关于内部类有什么作用,有什么分类都不是很了解,通过这篇文章来对java内部类的学习进行加深…
区别1: 普通内部类实例化后的对象持有外部类的引用,在非静态类内部可以访问外部类的成员:静态内部类实例化不持有外部对象引用,不能访问外面的方法和成员: 从耦合度上来讲,普通内部类跟外部类耦合程度很高,静态内部类跟外部类耦合程度很低: 区别2: 外部类静态方法中,无法创建普通内部类对象,可以创建静态内部类对象:可以把普通内部类和静态内部类近似为普通成员与静态成员,静态方法不可以访问普通成员:…
6.2.6  内部类 在权限修饰符中,我们已经见过内部类了,但我们看到的只是冰山一角,这节我们详细介绍一下内部类,内部类可以分为成员内部类,局部内部类,匿名内部类,静态内部类.下面我们来讲解一下,在讲解之前,先来看一道面试题: Public classTest{    public static void main(String args[]){        newB();    } } public classA {        public A(){               Syst…
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size:18px;">package nested_inner_class;</span></span> <span style="font-size:18px;"> public class StaticNestedTest3 { pu…
01.代码如下: package TIANPAN; class Outer { // 外部类 private String msg = "Hello World !"; public void fun(int num) { // 外部类普通方法 double score = 99.9; // 方法变量 class Inner { // 方法中定义的内部类 public void print() { System.out.println("属性:" + Outer.t…