概述
Static member class - 静态成员类,就是类声明中包含“static”关键字的内部类。
下面的示例定义了四种“静态成员类”:
public class Outer {
// 1/4 - public权限
public static class Inner1 {
public Inner1() {
staticMethod();
//OK! Static member inner class can access static method of outer class
//instanceMethod(); //Compile error: static member inner class can NOT access instance method of outer class
}
}
// 2/4 - default权限
static class Inner2 {
}
// 3/4 - private权限
private static class Inner3 {
// 4/4 嵌套定义
public static class Inner4 {
}
}
// 1/2 - 外部类的静态方法
private static void staticMethod() {
//cannot define an inner class in a method
/*public static class Inner4() {
}*/
}
// 2/2 - 外部类的实例方法
private void instanceMethod() {
// Inner3是私有的静态成员类,其使用范围仅建于Outer类的定义域
Inner3 inner3 = new Inner3();
Inner3.Inner4 inner4 = new Inner3.Inner4();
}
}
class Test {
Outer.Inner1 inner1 = new Outer.Inner1();
Outer.Inner2 inner2 = new Outer.Inner2(); //Test和Outer在一个package里,所以Inner2可以访问到
//Outer.Inner3 inner3 = new Outer.Inner3(); //Compile error: Inner3是私有
}
--
特性:
静态成员类可访问外部类的任一静态字段或静态方法 - 静态二字主要体现在这里
像静态方法或静态字段一样,有public/private/default权限
-- 约束:
静态成员类不能与外部类重名
像外部类的静态方法一样,不能访问外部类的实例字段和实例方法
静态成员类只能定义于外部类的顶层代码或外部类其它静态成员类的顶层代码中(嵌套定义);不能定义于外部类的某个函数中
-- 何时使用:
作为外部类的辅助而存在
最后
以上就是知性歌曲为你收集整理的1-4 内嵌类之静态成员类的全部内容,希望文章能够帮你解决1-4 内嵌类之静态成员类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复