怎么通过过外部类对象传递一个内部类对象?

发布于 2022-09-04 03:18:15 字数 219 浏览 13 评论 0

一个外部类Outer 他有一个内部类Inner

有一个外部类对象outer,然后又new了一个内部类对象。

可以把外部类outer赋值给其它对象例如object以后,取出object这个对象里的inner对象吗?

不用static?

如果不行的话为什么?
如果可行的话,需要在外部类做什么?
如果可行的话,内部类的内部类的一个集合可以用同样方法取出吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

滴情不沾 2022-09-11 03:18:15

只能把你创建的InnerClass传递出去,不能从OuterClass直接取出InnerClass的引用
InnerClass里面有OuterClass的引用,但是OuterClass没有也不能拥有InnerClass的引用,因为一个OuterClass实例可以创建多个InnerClass

请你别敷衍 2022-09-11 03:18:15

回答一下,简要概述一下你的问题,有两种概述可能性:

  1. 如何在类外部实例化当前类的内部类?

    参考代码:

    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();
            
        }
    }
  2. 如果在外部使用类中的变量,这个变量是一个内部类对象?

    答:如果这个内部类对象的访问权限对你没障碍,你就能访问。

ps:问题不要读起来像顺口溜一样,我会忍不住想笑的......

饭团 2022-09-11 03:18:15

内部类的出现,就是解决java的多继承!!可参考android- bindservice的service里面的内部类ibind的自定义的实现体。(人在地铁刚看看到你的问题无法贴出代码解析。感兴趣回复我,我再贴出代码?)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文