4

我有代码在用户单击特定按钮时建立服务器连接。我创建了一个内部类来监听动作。在内部类中的单个方法中,我还建立了前面提到的服务器连接。

我的问题是,只能在“内部”类中使用 Socket 连接吗?或者,外部类可以继续与所述服务器通信吗?


但是,我确实了解内部类可以不受限制地访问外部类(就好像它外部类一样。我的问题是相反的。

4

3 回答 3

7

创建一个这样的实例并访问您想要的内容:

OuterClass.InnerClass innerObject = outerObject.new InnerClass();
于 2013-06-05T00:40:42.623 回答
2

内部类上声明的所有方法都是可访问的......无论它们被声明为public还是private......。

如果内部方法是,static那么它们总是可以由外部类中的代码调用。您只需要使用内部类名称限定方法名称。

否则,外部类代码需要内部类实例的引用才能调用其上的方法。(但这是正常的。)


(如果你问的是内部类是否可以调用外部类的方法,那就有点复杂了。上面的大部分内容都适用,但如果内部类不是static,它也可以通过this. )

于 2013-06-05T00:40:37.797 回答
0

是的,您可以在下面的示例代码中实现这一点

    currentDateMinutes=getDateAndTime();
    System.out.println("DATE & TIME:"+new JobSchedulerUtil().new TaskScheduler(currentDateMinutes).timeNow()); 

上面的代码 JobSchedulerUtil 类是具有 getDateAndTime() 方法的外部类和具有 timeNow() 方法的内部类 TaskScheduler。

于 2018-05-22T13:08:31.813 回答