package demo.oo;
class InnerClass {
private static int staticNum = 2;
private int num = 1;
void method() {
Inner1 in1 = new Inner1();
in1.show();
Inner2 in2 = new Inner2();
in2.show();
}
static class Inner2 {
static void staticShow() { //如果内部类中定义了静态成员(变量,方法,静态代码块),该内部类也必须是静态的。
System.out.println("我是静态函数");
}
void show() {
System.out.println("staticNum:" + staticNum);
}
}
class Inner1 {
void show() {
System.out.println("num:" + num);
}
}
}
class InnerClassTest {
public static void main(String[] args) {
System.out.println("通过外部类对象访问内部类:");
InnerClass out = new InnerClass();
out.method();
System.out.println("直接通过内部类对象访问:");
InnerClass.Inner1 in1 = new InnerClass().new Inner1();
in1.show();
System.out.println("静态内部类:"); // 相当于一个外部类
InnerClass.Inner2 in2 = new InnerClass.Inner2();
in2.show();
System.out.println("静态内部类加静态函数:");
InnerClass.Inner2.staticShow();
}
}
内部类_的访问方式_静态内部类
最新推荐文章于 2024-04-08 08:50:52 发布