gpt4 book ai didi

java - Java程序错误: "Move initializer to constructor"

转载 作者:太空宇宙 更新时间:2023-11-04 06:33:56 25 4
gpt4 key购买 nike

在它开始的地方java.awtpublic void run(),它们都带有红色下划线,当我用鼠标单击它们时,我收到一条消息,说将初始值设定项移动到构造函数。谁能帮我解决这个问题吗?

public static void main (String[] args) {
// TODO code application logic here
EmployeeRecord main = new EmployeeRecord() {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EmployeeRecord().setVisible(true);
}
)}
}
}

最佳答案

取出 wrapper 。以下是您所需要的一切。

public static void main (String[] args) {

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EmployeeRecord().setVisible(true);
}
}); // <======= Notice the change here too.
}

您只需要静态调用EventQueue类的invokeLater方法即可。做你正在做的事情是一个完全不同的(非法的)构造,这甚至是不可能的。您基本上是在创建一个匿名类实例,并在其中调用相同的构造函数。即使它是一个正确的结构,例如

public static void main (String[] args) {
// TODO code application logic here
EmployeeRecord main = new EmployeeRecord() {
{
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new EmployeeRecord().setVisible(true);
}
});
}
};
}

您将创建一个不必要的实例。

关于java - Java程序错误: "Move initializer to constructor",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25699678/

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