gpt4 book ai didi

java - 带有 this.getClass().newInstance() 的通用 main 方法

转载 作者:行者123 更新时间:2023-11-29 07:00:10 24 4
gpt4 key购买 nike

好的,所以不要问为什么,但我正在尝试创建一个通用的 public static void main() 方法。我已经尝试过使用这两种方法;

public class Foo {
public static void main(String[] args){
try {
this.getClass().newInstance().check();
} catch(Exception e) {
e.printStackTrace();
}
}

public void check() {
System.out.println("Check succesful");
}
}

我得到的错误是this“不能在静态上下文中使用”
好的,所以我知道我不能在静态上下文中使用 this,但我想知道如何在不使用 Foo.check() 的情况下替换它

如果可能,我应该怎么做?如果不是,我想知道为什么。

最佳答案

查看How to call getClass() from a static method in Java?Getting the class name from a static method in Java

interface Checkable {
public void check();
}

public class Foo implements Checkable {
public static void main(String[] args){
try {
Class currentClass = new Object() { }.getClass().getEnclosingClass();
Checkable instance = (Checkable) currentClass.newInstance();
instance.check();
} catch(Exception e) {
e.printStackTrace();
}
}

public void check() {
System.out.println("Check succesful");
}
}

可能会成功,但我不确定我是否应该推荐这样做......

关于java - 带有 this.getClass().newInstance() 的通用 main 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27458104/

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