Java—内部类对象的创建
可以当成普通成员变量看待
创建
外部类 外部对象 = new 外部类(); 这里创建一个外部类对象
外部类.内部类 内部类 内部对象 = 外部类对象.内部类(); 这里完成创建内部类对象
InnerClassDemo innerClassDemo = new InnerClassDemo();
InnerClassDemo.InnerClass inner = innerClassDemo.new InnerClass();
如果主方法在外部类内部,创建内部类对象时可以省略外部类名
也可以直接创建 在创建外部类对象的基础上同时创建内部类对象
InnerClassDemo.InnerClass inner = new InnerClassDemo().new InnerClass();
静态内部类
外部类.内部类 内部类对象 = new 外部类.内部类();
new 外部类.内部类().方法名 内部类方法
Static.InnerClass innerClass = new StaticClass.InnerClass();
StaticClass.InnerClass 可以看做 类名.静态属性
整条语句可以看做是新建一个静态属性
匿名内部类
当定义一个类实现某个接口,在使用过程中只需要实现一次而没有其他用途时,可以不创建具体的类,而采用 new interface(){未实现的方法}
new Thread (new Runnable(){
@override
public void run(){
}
});
方法内部类
使用时注意:只能在方法中创建对象,作用域为当前方法