java 内部类:
成员内部类: 存在于一个类中的类就是内部类(二级类)
package java.内部类测试;
class a{ //一级类 不能用private 与protected修饰一个一级类
private double radius = 0.0;
private void say(){
System.out.println(new b().i);
System.out.println("外部类方法");
}
class b{ //内部类 二级类
private int i=0;
void drawSahpe() {
System.out.println(radius);
say();
System.out.println("drawshape");
}
}
}
class ClassNeiTest { //只有当类名与文件名相同时才能访问main方法。
public static void main(String[] args) {
a.b c= new a().new b();
c.drawSahpe();
}
}
输出结果:
0.0, 0 ,外部类方法, drawshape
由以上代码可以得出,java 内部类可以访问任意外部类成员变量与方法,外部类(一级类)需要先new内部类对象才能访问内部类的方法与属性。当一个类的类名与文件名相同时,才可以在类中加载main主函数。
- 局部内部类是定义在一个方法或作用域中的类,它的访问权限仅限于方法内或作用域内。
- 静态内部类也是定义在另一个类里面的类,只不过在类前加上了static。静态内部类是不需要依赖于外部类的,与静态成员变量类似。类成员。
- 匿名内部类:将方法当成参数看待。当你需要得到你个参数时,而这个参数需要重新定义,此时可以使用匿名内部类。
****以上属本人总结所得,如有不对之处欢迎批评指正。****