java中Static Nested Class 和 Inner Class的不同

Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。

而通常的内部类需要在外部类实例化后才能实例化。Static-Nested Class 的成员, 既可以定义为静态的(static), 也可以定义为动态的(instance).Nested Class的静态成员(Method)只能对Outer Class的静态成员(static memebr)进行操作(ACCESS), 而不能Access Outer Class的动态成员(instance member).而 Nested Class的动态成员(instance method) 却可以 Access Outer Class的所有成员, 这个概念很重要, 许多人对这个概念模糊. 有一个普通的原则, 因为静态方法(static method) 总是跟 CLASS 相关联(bind CLASS), 而动态方法( (instance method) 总是跟 instance object 相关联, 所以,静态方法(static method)永远不可以Access跟 object 相关的动态成员(instance member),反过来就可以, 一个CLASS的 instance object 可以 Access 这个 Class 的任何成员, 包括静态成员(static member).

java中Static Nested Class 和 Inner Class的不同-上流阁

*文章为作者独立观点,不代表上流阁立场
本文由 江风成 授权 上流阁 发表,并经上流阁编辑。转载此文章须经作者同意,并请附上出处(上流阁)及本页链接。原文链接https://www.o6c.com/java/2019/11/08/1260.html
发表评论

坐等沙发
相关文章
java中final, finally, finalize的区别
java中final, finally, finalize的区别
Session与Cookie区别
Session与Cookie区别
HTTP请求的GET与POST方式的区别
HTTP请求的GET与POST方式的区别
Java中线程从创建到死亡的几种状态都有哪些
Java中线程从创建到死亡的几种状态都有…
java中同步方法和同步代码块的区别
java中同步方法和同步代码块的区别
Java线程中sleep() 和 wait() 的区别
Java线程中sleep() 和 wait() 的区别
javaweb开发程序员php开发,微信开发。接受定制开发

最新评论