我们如何在Java中创建接口对象?

这段代码是如何工作的,我完全感到困惑。

package com.servletpack.examples;

interface check {

public void message();

}

public class Interface {

public static void main(String[] args) {

try {

check t = new check() {//how????????????????

public void message() {

System.out.println("Method defined in the interface");

}

};

t.message();

} catch (Exception ex) {

System.out.println("" + ex.getMessage());

}

}

}

回答:

使用该语法,您可以创建一个完全合法的匿名类。

在内部,匿名类被编译为它们自己的类EnclosingClass$n,在封闭类的名称位于$符号之前的地方称为该类。并n为每个其他匿名类增加。这意味着正在创建以下类:

class Interface$1 implements check {

public void message() {

System.out.println("Method defined in the interface");

}

}

然后,main编译中的代码以在内部使用新定义的匿名类:

check t = new Interface$1();

t.message();

以上是 我们如何在Java中创建接口对象? 的全部内容, 来源链接: utcz.com/qa/428260.html

回到顶部