Static class 与non static class的区别
来源:互联网 发布:ubuntu snmp 配置 编辑:程序博客网 时间:2024/06/06 02:34
见《JAVA笔面》P80
内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用。非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。
根据Oracle官方的说法:
Nested classes are divided into two categories:static and non-static. Nested classes that are declared static are called static nested classes. Non-static nested classes are called inner classes.
从字面上看,一个被称为静态嵌套类,一个被称为内部类。
从字面的角度解释是这样的:
什么是嵌套?嵌套就是我跟你没关系,自己可以完全独立存在,但是我就想借你的壳用一下,来隐藏一下我自己(真TM猥琐)。
什么是内部?内部就是我是你的一部分,我了解你,我知道你的全部,没有你就没有我。(所以内部类对象是以外部类对象存在为前提的)简单理解就是:如果把类
比喻成鸡蛋,
内部类为蛋黄,外部类是蛋壳。那么静态类相当于熟鸡蛋,就算蛋壳破碎(外部类没有实例化),蛋黄依然完好(内部类可以实例化);而非静态类相当于生鸡蛋,蛋
壳破碎(无实例化),蛋黄也会跟着xx(不能实例化)。
0 1
- Static class 与non static class的区别
- Static class 与non static class的区别
- Static class 与non static class的区别
- Static class 与non static class的区别
- 12. Static class 与non static class的区别。
- Java 中 Static class 与non static class的区别
- non-static inner class
- java-基础-Interface、abstract类、Static class 、non static class的区别
- static nest class 与 inner class的区别
- static与non-static的区别
- static与non-static的区别
- static 与 non-static 的区别
- Java中的static Class和non static Class
- Non-static Nested Class or Static Nested Class
- Swift中class func与static func的区别
- Swift_关键字static和class的区别
- 关键字static和class的区别
- Inner class 的 static
- 矩阵的转置
- 8086汇编笔记(基础知识与寄存器)
- 追女孩的心得
- 图像细化、骨架提取
- LeetCode 之 Add Binary
- Static class 与non static class的区别
- 8086汇编笔记(源程序与loop循环)
- project euler 18
- Gym 100499H - cctv - 计算几何
- 去除IE长时间运行脚本提示信息
- 复杂链表的复制(C++)
- project euler 19
- 8086汇编笔记(转移指令原理)
- 图像处理中的数学原理详解17——卷积定理及其证明