内部类
package mypkg.demo01public class Outer{private int id;public void out(){System.out.println("外部类方法");}public class Inner{public void in(){System.out.println("内部类方法");}}
}
import mypkg.demo01.Outer
public class test{public static void main(String[] args){Outer outer = new Outer();Outer.Inner inner = outer.new Inner();}
}
- 静态的内部类无法访问外部类的非静态的成员,因为内部类会在类加载时候被加载,而此时外部类还未实例化,内部成员还未存在
- 一个java类中可以有多个class,但是只能有一个public class
- 匿名类:
public class Test{public static void main(String[] args){new A().method();//匿名类可以不使用引用初始化类,即不需要将实例保存至变量中}class A{public void method(){Systen.out.println("1");}}
}