内部类:将类定义到另一个类内部
访问规则:
1.内部类可直接访问外部类中的成员
2.外部类要想访问内部类,只能创建内部类的对象访问。如果没有实例化内部类,内部类不会被加载,不会有值输出。
A类想要直接访问B类中的成员时,可以将A类定义到B类中,作为B类的内部类存在
public class Outer { static int num=4; //相当于外部类的一个成员,可以被成员修饰符所修饰public private static //如果内部类被static修饰,则被访问的外部类成员变量和成员函数也要被static修饰 static class Inner{ void show(){ System.out.println(num); } static void run(){ System.out.println("run"); } } public void method(){ /*Inner in=new Inner(); in.show();*/ Outer.Inner.run();//调用静态内部类中中的静态成员不用实例化对象 Outer.Inner in=new Outer.Inner();//调用静态内部类中中的非静态成员需要实例化对象 in.show(); } public static void main(String[] args) { Outer out =new Outer(); out.method(); } }