Java之静态内部类和非静态内部类的区别
来源:互联网 发布:如何编写软件程序 编辑:程序博客网 时间:2024/06/04 17:52
/**
* 总结:
* 内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用。
* 1.静态内部类可以有静态成员(方法,属性),而非静态内部类则不能有静态成员(方法,属性)。
* 2.静态内部类只能够访问外部类的静态成员,而非静态内部类则可以访问外部类的所有成员(方法,属性)。
* 3.实例化一个非静态的内部类的方法:
* a.先生成一个外部类对象实例
* OutClassTest oc1 = new OutClassTest();
* b.通过外部类的对象实例生成内部类对象
* OutClassTest.InnerClass no_static_inner = oc1.new InnerClass();
* 4.实例化一个静态内部类的方法:
* a.不依赖于外部类的实例,直接实例化内部类对象
* OutClassTest.InnerStaticClass inner = new OutClassTest.InnerStaticClass();
* b.调用内部静态类的方法或静态变量,通过类名直接调用
* OutClassTest.InnerStaticClass.static_value
* OutClassTest.InnerStaticClass.getMessage()
*/
延生: java静态方法不能访问实例成员的分析?
Java静态成员是在类加载的时候初始化的,实例成员是在类实例化的时候或者说创建对象的时候初始化的。而调用静态方法的时候,实例成员可能还没有初始化,如果静态方法可以访问实例成员,那么就可能会访问不存在的变量或方法,所以静态方法只能访问静态成员不能访问实例成员,实例方法是可以访问静态成员和实例成员的
- Java静态内部类和非内部类的区别
- Java之静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- 静态内部类和非静态内部类的区别
- js 常用正则表达式表单验证代码
- Beaglebone Black———入门之改变BB-Black的CPU频率
- 00007-----连接mini2440开发板FTP
- IEtester IE6老崩溃的解决办法
- Arif in Dhaka (First Love Part 2) [Uva 10294]
- Java之静态内部类和非静态内部类的区别
- 巧用drawable
- ExtraChm的存档位置
- 【leetcode】326. Power of Three
- iOS开发调试技巧总结(持续更新中)
- Maven、eclipse与Nexus私服配置指南
- 随笔之javamail邮件发送(阿里云企业邮箱)
- C/C++函数形参传实参时值传递、指针传递、引用传递的区别
- SQL to mongo Shell to C++