JAVA内部类访问权限
class Outer{
private int myI=100;
private static String name="name outer";
public void show(){
system.out.println(“Outer。show”);
}
public void test2(){//外部类访问内部类
Inner ub=new Inner();
ub.TestInner();
}
public static void test2(){//外部类静态方法访问内部类
//在外部类的静态方法中实例内部类的对象,必须先创建外部类对象
Outer outer=new Outer();
Inner ub=outer.new Inner();//创建内部类对象
ub.TestInner();
或者
Inner ub=new Outer.new Inner();//创建内部类对象
ub.TestInner();
}
class Inner{
public void TestInner(){//在内部类访问外部类-实类
Outer outer=new Outer();
outer.show();
system.out.println(“访问外部类的变量:”+Outer.this.myI);//加上外面类名
system.out.println(“访问外部类的静态变量:”+Outer.name);//加上外面类名
}
}
}
说明
在其他类方法内访问内部类
Outer outer=new Outer();
Outer.Inner ub=outer.new Inner();//创建内部类对象
ub.TestInner();
1、内部类是外部类一个成员,因此内部类可以只有访问外部类的成员变量,无论是否是private。
内部类中不允许有任何静态声明,
但可以有静态常量,如static final boolean jj=false。
不能有静态方法