package com.fy.day16.t1;
public class TestStaticClass {
public static void main(String[] args) {
//外部类的静态属性
System.out.println(Outer1.a);
//创建静态内部类对象时,可以直接通过完整名称进行创建
Outer1.m1();
Outer1.Inter.m2();
Outer1.Inter in = new Outer1.Inter();//静态内部类的创建,不依赖外部类的对象
//创建内部类对象后,访问实例属性和方法
System.out.println(in.b);
in.m2();
//额外比成员内部类多了一个定义的内容(静态属性和静态方法)
//通过外部类类名.内部类类名.属性
System.out.println(Outer1.Inter.field);
//通过外部类名.内部类类名.内部类中方法名
Outer1.Inter.m3();//能够直接调用内部类中的静态方法
}
}
class Outer1 {
static int a = 10;
static void m1() {
System.out.println("Outer1 m1()");
}
static class Inter {
int b = 20;
static String field = "abc";//静态内部类的静态属性放在内部类的里面与放在外部类的里面内部类的外面没有区别
static void m2() {
System.out.println("Inter m2()");
}
public static void m3() {
System.out.println("Inter m3()" + a);
}
}
}
java_静态内部类
最新推荐文章于 2022-01-06 22:42:45 发布