网站建设创新点,如何制作网址内容,网站开发综合实训心得,怎么介绍网站的优缺点静态内部类
StaticInnerClass01.java
说明#xff1a;静态内部类是定义在外部类的成员位置#xff0c;并且有static修饰
可以直接访问外部类的所有静态成员#xff0c;包含私有的#xff0c;但不能直接访问非静态成员。可以添加任意访问修饰符#xff08;public.protec…静态内部类
StaticInnerClass01.java
说明静态内部类是定义在外部类的成员位置并且有static修饰
可以直接访问外部类的所有静态成员包含私有的但不能直接访问非静态成员。可以添加任意访问修饰符public.protected、默认、private因为它的地位就是一个成员。作用域同其他的成员为整个类体。静态内部类 — 访问 — 外部类比如静态属性 访问方式直接访问所有静态成员外部类 — 访问 — 静态内部类 访问方式创建对象再访问【案例a】外部其他类 — 访问 — 静态内部类 三种方式【案例b】如果外部类和静态内部类的成员重名时静态内部类访问的时默认遵循就近原则如果想访问外部类的成员则可以使用外部类名.成员去访问。这里不用加this。
【案例a】
外部类Outer10 中的visitInner10()方法
class Outer10 {private int n1 10;private static String name haha;//1. 放在外部类的成员位置//2使用static修饰static class Inner10 {public void say() {// 可以直接访问外部类的所有静态成员包含私有的// 但不能直接访问非静态成员。System.out.println(name);}}public void visitInner10() {Inner10 inner10 new Inner10();inner10.say();}
}【案例b】
方法一
直接创建对象类似A a new A() Outer10.Inner10 inner10 new Outer10.Inner10();new Outer10.Inner10() 因为这是【静态】内部类所以可以直接用类名访问 前提是满足访问权限
方法二
在外部类 Outer10 中编写一个方法返回静态内部类的对象
【main】Outer10 outertmp new Outer10();Outer10.Inner10 innertmp outertmp.getInner10();innertmp.say();class Outer10 {static class Inner10 {}public Inner10 getInner10() {return new Inner10();}
}方法三
编写一个【静态】方法返回静态内部类的对象 静态方法getInner10_可以访问静态成员Inner10
class Outer10 {static class Inner10 {}public static Inner10 getInner10_() {return new Inner10();}
}