package day11;
public class StaticInnerclas {
public static void main(String[] args) {
Outer07 outer07 = new Outer07();
outer07.m1();
/**外部其他类,使用静态内部类
* 方式1:因为静态内部类,是可以同类名直接访问(前提是满足访问权限)
*/
Outer07.Inner02 inner02 = new Outer07.Inner02();
inner02.say();
/**
* 方式2:定义一个方法,返回成员静态内部类
*/
Outer07.Inner02 inner021 = new Outer07.Inner02();
inner021.say();
}
}
class Outer07{
private int n1 = 10;
private static String name = "zhangsan";
private static void cry(){}
/**
* Inner10就是静态内部类
* 1.放在外部类的成员位置
* 2.使用static修饰
* 3.可以直接访问外部类的所有静态成员,包含私有的,但不能直接访问非静态成员
* 4.可以添加任意访问修饰符【public、protected、默认、private】
* 5.作用域:同其他的成员,为整个类体
*/
static class Inner02{
public void say(){
System.out.println(name);
}
}
public void m1(){//外部类访问内部类的方法
System.out.println("m1被调用~");
Inner02 inner02 = new Inner02();
inner02.say();
}
public static Inner02 getInstance(){
return new Inner02();
}
}
静态成员内部类的两种访问方法
最新推荐文章于 2024-07-14 16:39:48 发布