gpt4 book ai didi

java - 匿名类方法访问

转载 作者:搜寻专家 更新时间:2023-11-01 01:04:13 26 4
gpt4 key购买 nike

是否有任何可能的方法来访问 anonySubClassMethod 方法?如果没有,为什么 Java 编译器允许创建此方法?

abstract interface AnonyIfc {
public abstract void methodIfc ();
}

public class AnonyImplementation {
public static void main (String... a) {
AnonyIfc obj = new AnonyIfc(){
public void methodIfc() {
System.out.println("methodIfc");
}
public void anonySubClassMethod() {
System.out.println("anonySubClassMethod");
}
};
//obj.anonySubClassMethod() won't be visible since refering sub class
// method with super class reference
}
}

更新
从 Francis Upton 我了解到 anonySubClassMethod 可以在匿名类中使用。那么我是否可以期望 java 编译器将访问说明符限制为 anonySubClassMethod 的私有(private)?希望这个公共(public)说明符也有理由。只是好奇。

最佳答案

正如其他人所指出的,可以从类中调用该方法。从类外部调用它的唯一方法(除了使用反射)如下所示:

new Object() {
void doSomething() {
//code
}
}.doSomething();

关于java - 匿名类方法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8697971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com