内部类分为成员内部类和局部内部类
成员内部类:
一个类定义在一个类的内部,作为外面类的成员,就如C语言的结构体类型。
public class Body{
public class Heart{
//Heart就为Body的成员内部类
}
}
调用方式:
1.间接方式:在外部类的方法中使用内部类。
2.直接方式:外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称();
例:Body.Heart heart =new Body().new Heart();
局部内部类:
定义在方法中的类。
class Outer
{
public void method()
{
final int a = 10;
class Inner
{
System.out.println(a);
//局部内部类
}
}
}
例:内部类重名对象的访问
public class Outer{
int num=10;
public class inner{
int num =20;
public void method(){
int num =30;
system.out.println(num);//30 局部变量
system.out.println(this.num);//20 内部类成员变量
system.out.println(Outer.this.num);//10 外部类成员变量
}
}
}