我有代码在用户点击特定按钮的事件上建立服务器连接。我创建了一个内部类来监听动作。在我在内部类中的单个方法中,我还建立了前面提到的服务器连接。
我的问题是,Socket连接只能在“内部”类中使用吗?或者,外部类可以继续与所述服务器通信吗?
答案 0 :(得分:7)
创建这样的实例并访问您想要的内容:
OuterClass.InnerClass innerObject = outerObject.new InnerClass();
答案 1 :(得分:2)
在内部类上声明的所有方法都是可访问的 ...无论它们是声明为public
还是...... private
。
如果内部方法是static
,那么它们总是可以被外部类中的代码调用。您只需要使用内部类名来限定方法名称。
否则,外部类代码需要引用内部类的实例来调用其上的方法。 (但那是正常的。)
(如果你问的是内部类是否可以调用外部类的方法,那就更复杂了。上面的大多数都适用,但如果内部类不是static
,它可以还通过this
在其外部类上调用实例方法。)
答案 2 :(得分:0)
是的,您可以在下面的示例代码
中实现这一目标 currentDateMinutes=getDateAndTime();
System.out.println("DATE & TIME:"+new JobSchedulerUtil().new TaskScheduler(currentDateMinutes).timeNow());
上面的代码JobSchedulerUtil类是一个带有getDateAndTime()方法的外部类和一个带有timeNow()方法的内部类TaskScheduler。