今天学习学习java的类的一种高级特性:内部类
成员内部类:内部类可以直接存取其所在类的私有成员,内部类的实例一定要绑定在外部类的实例上(特别注意),如果在外部类和非静态方法 之外实例化内部类对象,必须使用外部类.内部类的形式
public class Outer {
Inter in=new Inter();
public void outf()
{
in.inf();
}
class Inter
{
int y=0;
public void inf()
{
}
}
public Inter doit(int x)
{
in.y=x;
return new Inter();
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Outer out=new Outer();
Outer.Inter in=out.doit(7);
System.out.println(out.in.y);
}
如果内部类与外部类有相同的变量名,在内部类中,可以用外部类.this.变量名调用外部类的变量;
2.局部内部类:是指在类的方法中定义的内部类,其作用范围就在这个方法体中,他可以访问当前代码块的常量,及外部类的所有成员;