小编Sid*_*dhi的帖子

任何人都可以解释以下代码的工作吗?

任何人都可以解释以下代码的工作吗?

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";}});
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是......

myInterfacetoString
primitivedemo.Main$2@9304b1
Run Code Online (Sandbox Code Playgroud)

所有答案都说println()语句中的myInterface是匿名类.但是因为我已经将它声明为接口,为什么它允许我创建同名的匿名类....?

再次...如果这些是匿名类,那么class main应该允许我给这些匿名类赋予任何名称..但是如果尝试这样做..我得到编译错误

java abstract-class interface anonymous-class

6
推荐指数
1
解决办法
511
查看次数

标签 统计

abstract-class ×1

anonymous-class ×1

interface ×1

java ×1