2.24 Java基础总结 ①内部类基础

内部类基础
类里边再定义了类,可以是成员内部类,也可以是局部内部类(方法里边)

一、成员内部类
①可以有访问修饰符
②class文件名:外部类类名$内部类类名.class
③就是一个完整的独立类
④在本类任意非static的地方都可以new出来,但在第三方必用外部类对象。new的方式产生内部类
Student s = outside.new Student();
⑤静态内部类--特例
在本类任意方法中可new出来,在第三方中药new出来,无需产生外部类对象,只需要用外部类类名. 的方法

二、局部内部类
①不能有访问修饰符
②class文件名:外部列明$序号 内部类.class
③就是一个完整的独立类
④在本类方法里产生对象,在使用
⑤匿名内部类--特例
由于没有类名,所以产生对象的时候用语句告诉JVM他的结构;
并且只能用一次

new Object(){
void hello(){}
}.hello();
这是一个语句,匿名对象.方法名

所有是父类的都可以这样写

Human hu = new Human(){
public void dance(){//重写
}
};//这里有分号,相当于语句
hu.dangce();
文件名:内部类$序号.class


☆三种文件名类型
Out$In.class
Out$1In.class    1,2,3
Out$1.class     1,2,3

posted @ 2016-02-24 23:32  远秋  阅读(119)  评论(0编辑  收藏  举报