44问答网
所有问题
java 请问非静态类为什么持有外部类的引用
如题所述
举报该问题
推荐答案 2016-09-01
非静态内部类依赖于外部类,没有外部类就不能创建内部类,内部类可以直接访问外部类的属性,包括私有属性
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/66Y6KVDZ3RDKRRYDK3.html
其他回答
第1个回答 2018-10-16
正常情况下一个类想要使用另一个类的方法或者非私有变量需要先定义一个引用并且对其进行实例化操作,也就是Object onject=new Object();非静态内部类可以直接使用外部类的变量和方法,也就是说不需要对外部类进行实例化操作就可以直接使用外部类的变量和方法,我们就称之为默认持有了外部类的引用。
---------------------
作者:Koiier
来源:CSDN
原文:
https://blog.csdn.net/l18363002160/article/details/83089417?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
第2个回答 2016-09-01
举例来说明一下情况 。。。。。。。。。。。。
相似回答
深入理解
Java中为什么
内部类可以访问
外部类的
成员
答:
内部类不能是静态内部类!
非静态的内部类在编译后会有外部类对象的引用
,所以构造这种内部类必须先构造外部对象,再用外部对象构造内部对象。Test public void testNested() { Clazz obj = new Clazz(); Nested nested = obj.new Nested(); nested.print(); } class Clazz { ...
深入理解
Java中为什么
内部类可以访问
外部类的
成员
答:
非静态
方法是跟随着
类的
生命周期的,当类实例化时,非静态方法跟随着实例化对象产生,实例化对象可以调用类中的非静态方法,当实例化对象结束时,非静态方法也跟着结束。就是说,非静态方法是依附于实例化对象的,它的生命周期就是实例化对象的生命周期。静态方法是不受制于类的实例化对象的,即静态方法...
java
静态类和
非静态类的
区别
答:
(1)内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用
。(2)非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。(3)一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法...
深入浅析
Java中Static
Class及静态内部类和
非静态
内部
类的
不同
答:
(1)内部静态类不需要有指向外部类的引用。但非静态内部类需要持有对外部类的引用
。(2)非静态内部类能够访问外部类的静态和非静态成员。静态类不能访问外部类的非静态成员。他只能访问外部类的静态成员。(3)一个非静态内部类不能脱离外部类实体被创建,一个非静态内部类可以访问外部类的数据和方法...
大家正在搜
java静态方法和非静态方法
不能对非静态方法进行静态引用
非静态方法不能引用静态变量
不能对非静态字段进行静态引用
java静态方法的调用
静态库引用静态库
怎么引用非静态方法
java 静态类
java 静态方法 性能
相关问题
为什么静态内部类的非静态方法只能访问外部类的静态变量,而不可...
JAVA 中外部类可以访问非静态内部类的私有属性???
Java中匿名类调用外部类的成员变量,提示不能对非静态字段静...
java中为什么在主函数中创建外部类对象可以,创建内部类对象...
java中访问静态内部类时为什么不能创建外部类的对象
Java:Java不允许在非静态内部类里定义静态成员?这是为...
JAVA中 未定义为静态的接口为什么能被外部类的类名直接调用...
Java:静态内部类调用外部类的方法