44问答网
所有问题
为什么不能通过创建外部类对象来访问静态内部类
如题所述
举报该问题
推荐答案 2017-06-24
你首先要明白Java的对象引用概念,类似于c++中的指针,
内部类一般来说是为了更好的,方便的方法外部类成员,
那么内部类为什么能方法,内部类可以隐试的获取一个外部类的对象引用,所以才可以访问,
那么现在可以回答你的问题了,你的外部类要想访问内部类,也要获取对象引用,这个时候需要你自己去获取,所以你想通过外部类对象引用来直接访问内部类是不可行的
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/DGWGWYR3ZD36ZWRKKV.html
其他回答
第1个回答 2017-06-24
静态内部类 静态内部类定义在类中,任何方法外,用static定义。 静态内部类只能访问外部类的静态成员。 生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成: Outer.Inner in=new Out.
本回答被网友采纳
相似回答
java中
访问静态内部类
时
为什么不能创建外部类
的
对象
答:
你首先要明白new Outer().new Inner()是
干什么
的,这个是在外围类中穿件非
静态内部类
时的代码,非静态内部类必须要持有一个隐含的指向
外部类
的引用,所以必须先new outer再new inner,但是如果是非静态的,就无需持有外部类引用,这么写有什么道理呢?
为什么
引用
静态内部类不
需要
创建对象
?
答:
因为静态类和方法只属于类本身,并不属于该类的对象,更不属于其他外部类的对象
。静态内部类,定义在类中,任何方法外,用static定义;静态内部类只能访问外部类的静态成员。生成(new)一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:Outer.Inner in=...
java中
外部类为什么不能
直接
访问内部类
成员
答:
保护
。如果随意访问就没有定义内部类的太大必要了。
在
外部类
以外的地方
访问静态内部类
答:
因为Inner()是 Inner类的构造方法,在内部类inner中,在没有外部类实例的情况下,是不能直接调用的
,所以第四个也是错误的 注意点: 静态的内部类,只能用外部类 类名访问,而不能用外部类实例调用? 原因: 我也不知道,但曾经测试过.确实不行,eg: new Outer.inner() //是可以的,new Outer() ...
大家正在搜
静态内部类对象的创建
内部类怎么创建对象
一个内部类不能声明为静态的
静态内部类有什么问题
内部类与静态内部类
java内部类和静态内部类
静态函数能创建对象吗
静态变量可以通过对象来调用
静态方法中可以创建对象吗
相关问题
java中访问静态内部类时为什么不能创建外部类的对象
java内部类可以访问外部类的静态方法吗
为什么JAVA中外部类不能直接访问静态内部类的成员?
JAVA 中外部类可以访问非静态内部类的私有属性???
java中为什么在主函数中创建外部类对象可以,创建内部类对象...
为什么静态内部类的非静态方法只能访问外部类的静态变量,而不可...
为什么引用静态内部类不需要创建对象?
如何在静态内部类里访问外部类实例成员?