【发布时间】:2013-05-31 13:03:49
【问题描述】:
我有代码在用户单击特定按钮时建立服务器连接。我创建了一个内部类来监听动作。在内部类中的单个方法中,我还建立了前面提到的服务器连接。
我的问题是,只能在“内部”类中使用 Socket 连接吗?或者,外部类可以继续与所述服务器通信吗?
然而,我明白内部类可以不受限制地访问外部类(好像它是外部类。我的问题是相反的。
【问题讨论】:
-
是的,外部类的实例可以调用内部类实例的方法。
-
是的,我在发布答案时误解了这个问题。你当然可以这样做。你甚至可以access private fields of the inner class from the outer class。
-
旁注:Joshua Bloch 在“有效的 java”中有一个关于嵌套类的精彩章节。
-
内部类方法是私有类型的,所以我很担心。我现在明白了。如果两种方式本质上都可以不受限制地访问,那么内部类的目的是什么?