一个外部类Outer 他有一个内部类Inner
有一个外部类对象outer,然后又new了一个内部类对象。
可以把外部类outer赋值给其它对象例如object以后,取出object这个对象里的inner对象吗?
不用static?
如果不行的话为什么?
如果可行的话,需要在外部类做什么?
如果可行的话,内部类的内部类的一个集合可以用同样方法取出吗?
一个外部类Outer 他有一个内部类Inner
有一个外部类对象outer,然后又new了一个内部类对象。
可以把外部类outer赋值给其它对象例如object以后,取出object这个对象里的inner对象吗?
不用static?
如果不行的话为什么?
如果可行的话,需要在外部类做什么?
如果可行的话,内部类的内部类的一个集合可以用同样方法取出吗?
回答一下,简要概述一下你的问题,有两种概述可能性:
如何在类外部实例化当前类的内部类?
参考代码:
public class Outer {
class Inner {
}
public static void main(String[] args) {
// 相当于外部,准备在这里实例化Inner这个内部类.
// 1. 先new出Outer这个类
Outer outerObj = new Outer();
// 2. 通过Outer类句柄new出内部类
Outer.Inner innerObj = outerObj.new Inner();
}
}
如果在外部使用类中的变量,这个变量是一个内部类对象?
答:如果这个内部类对象的访问权限对你没障碍,你就能访问。
ps:问题不要读起来像顺口溜一样,我会忍不住想笑的......
内部类的出现,就是解决java的多继承!!可参考android- bindservice的service里面的内部类ibind的自定义的实现体。(人在地铁刚看看到你的问题无法贴出代码解析。感兴趣回复我,我再贴出代码?)
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
只能把你创建的
InnerClass
传递出去,不能从OuterClass
直接取出InnerClass
的引用InnerClass
里面有OuterClass
的引用,但是OuterClass
没有也不能拥有InnerClass
的引用,因为一个OuterClass
实例可以创建多个InnerClass