gpt4 book ai didi

java - 如何调用对象实例化时定义的方法?

转载 作者:行者123 更新时间:2023-11-29 05:42:23 25 4
gpt4 key购买 nike

想知道如何调用公共(public) m 方法吗?

public class Test1 {

public static void main(String[] args) {
Test1 test = new Test1() {
public void m() {
System.out.println("m");
}
};
}
}

最佳答案

我不相信你可以。您必须创建一个接口(interface)或子类。 (嗯,好吧,这可能不是真的。你可以通过反射(reflection)来做到这一点。)

例如,像这样(构建后通过 test.m() 调用):

public class Test1 {

public static void main(String[] args) {
SubTest1 test = new SubTest1() {
public void m() {
System.out.println("m");
}
};
test.m();
}

private static abstract class SubTest1 extends Test1 {
public abstract void m();
}
}

或者像这样,在构建过程中发生的地方:

public class Test1 {

public static void main(String[] args) {
SubTest1 test = new SubTest1() {
public void m() {
System.out.println("m");
}
};
}

private static abstract class SubTest1 extends Test1 {
public SubTest1() {
this.m();
}

public abstract void m();
}
}

can't define an anonymous class constructor , 因此最后使用 SubTest1 类的构造函数和抽象方法。

关于java - 如何调用对象实例化时定义的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17032710/

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