次のコードの動作を説明できる人はいますか...?
interface myInterface{}
public class Main {
public static void main(String[] args) {
System.out.println(new myInterface(){public String toString(){return "myInterfacetoString";}});
System.out.println(new myInterface(){public String myFunction(){return "myInterfacemyFunction";}});
}
}
出力は...
myInterfacetoString
primitivedemo.Main$2@9304b1
println() ステートメントの myInterface は匿名クラスであるというすべての回答。しかし、すでにインターフェイスとして宣言しているので、なぜ同じ名前の匿名クラスを作成できるのでしょうか....?
繰り返します...これらが匿名クラスの場合、クラス main はこれらの匿名クラスに任意の名前を付けることを許可する必要があります..しかし、そうしようとすると..コンパイルエラーが発生します