【发布时间】:2013-03-30 23:31:30
【问题描述】:
在Java中,我刚刚发现下面的代码是合法的:
KnockKnockServer newServer = new KnockKnockServer();
KnockKnockServer.receiver receive = newServer.new receiver(clientSocket);
仅供参考,receiver 只是一个具有以下签名的辅助类:
public class receiver extends Thread { /* code_inside */ }
我以前从未见过XYZ.new 符号。这是如何运作的?有什么方法可以更传统地编码吗?
【问题讨论】:
-
供您参考,inner class。
-
另外,我相信
new是许多语言的运算符。 (我想你也可能在 C++ 中重载new?)不过,Java 的内部类对我来说有点奇怪。 -
StackOverflow 上没有愚蠢的问题!
-
@IsaacRabinovitch - 没有愚蠢的问题。然而,有很多愚蠢的。 (偶尔也会有一个愚蠢的答案。)
-
@HotLicks 你对愚蠢问题的定义是什么?我想你太聪明了,不需要问。太好了,你有这么多的自尊心。
标签: java