1 内部类可以访问外部类私有的属性或直接用方法(方法名就可以)。
内部类可以当做一个普通的成员变量,但确是class的类型。
(一个java文件中可以有多个Class的类但只能有一个public class修饰的)
外部类不能直接访问内部类但可以在外部类中内部new 一个内部类对象来使用内部类的方法和属性
(如果是在main方法中可以这样 内部类 A=new 外部类().new 内部类(); 在外部类中new内部类
即不加前面的外部类名 )。
外部类.内部类 A=new 外部类().new 内部类(); 在测试类中如何new内部类。
2 如果外部类和内部类有相同的属性或方法,在内部类中会默认调用自己的,想要调用外部类的须要用
到 内部类名this.方法或属性。
3 成员内部类不能定义静态的否则会报错。
4 静态内部类使用static
外部类.内部类 A=new 外部类. 内部类();
接下来我们来写一个简单一点的代码来看一下
public class fna { private String mane="赵云"; public static void b(){ System.out.println("这是外部类"); } public static void main(String[] args) { nm a=new fna().new nm(); a.nm(); } class nm{ private String mane="张飞"; // private stetic int a; //成员内部类中不能定义静态的 public void nm() { System.out.println("这是内部类"); System.out.println(this.mane); System.out.println(fna.this.mane); } } } 然后再写一个测试类
public class test { public static void main(String[] args) { fna.nm a=new fna().new nm(); a.nm(); } }