内部类的访问规则:1,可以访问外部类中的成员,包括私有成员原因是该内部类中持有一个外部类的引用,格式outer.this.x,2,外部类访问内部必须建立内部类对象。3,内部类可以私有。外部类不能私有。System.out.println(outer.this.x); 当内部类定义在外部类的成员位置,而且非私有,可以在外部其他类。可以直接建立内部类对象。格式out.inner in=new out().new inner();2,当内部类定义在外部类的成员位置就可以成员修饰符修饰比如私有perivate将内部类进行封装,static当内部类被被静态修饰后,只能直接访问外部类中的静态成员。访问局限。没有对象且非静态不能运行。 2在外部其他类中如何直接访问静态类内部非静态方法?New outer.inner().function在外部其他类中如何直接访问静态类内部静态方法?Outer.inner.function注意;当内部类中的定义了静态成员该内部类必须静态的。当外部类中静态访问内部类时,内部类也必须是静态的。内部类产生原因:描述事物时,事物内部还有事物,因为内部事物在使用外部事物内容。 3,内部类定义在局部时1,不可以被成员修饰符修饰2,可以直接访问外部类中成员因为还持有外部类中的引用,但是不能访问他所在的局部变量,只有这个局部变量被修饰成final修饰。
|