Java 如何在super()中使用其他类变量;?
如果我有一个类有一个名为name的变量,我怎么能把它放到一个super;另一个类中的构造函数?例如: 这个类有一个变量'name',用户为它选择一个单独的字符串,因此它显然总是会根据用户输入的内容进行更改Java 如何在super()中使用其他类变量;?,java,swing,awt,panel,getter,Java,Swing,Awt,Panel,Getter,如果我有一个类有一个名为name的变量,我怎么能把它放到一个super;另一个类中的构造函数?例如: 这个类有一个变量'name',用户为它选择一个单独的字符串,因此它显然总是会根据用户输入的内容进行更改 String name; public String getName(){ return name; } name= JOptionPane.showInputDialog("Imagine a car, what is it's name?"); if(name == nul
String name;
public String getName(){
return name;
}
name= JOptionPane.showInputDialog("Imagine a car, what is it's name?");
if(name == null || (name != null && ("".equals(name))))
{
JOptionPane.showMessageDialog(null, "Invalid input/pressed cancel, closing program.");
System.exit(0);
}
JOptionPane.showMessageDialog(null, "Ah okay, so it's name is " + name);
然后在另一个类中,我得到了这个,我想把getName放到super中;建造师
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TestProjectJPanel extends JFrame {
TestProjectDialog tpd = new TestProjectDialog();
public JButton b;
public Color color = (Color.WHITE);
public JPanel panel;
public TestProjectJPanel(){
super(); // <<<<<<<<<<<<<<<< want to put the method getName in here
panel = new JPanel();
panel.setBackground(color);
}
}
当我尝试将其放入println时出错
这条线上有多个标记
-令牌上出现语法错误。此令牌后应为@
-语法错误,插入标识符以完成MethodHeaderName
-语法错误,插入以完成MethodDeclaration
-语法错误,请插入SimpleName以完成QualifiedName
如果调用方法,则需要在方法名称后加括号,例如System.out.printlngetName;您将无法访问JFrame的源代码,您无法向其添加任何内容。您可以像现在一样进行扩展。我想getName是否在另一个类中?然后,如果要在调用JFrame的构造函数时使用getName,则需要该类的对象。如果你不知道某事物是什么,你就不可能得到它的名字。那么你想知道的对象在哪里?我没看到。是tpd吗?tpd的名称设置在哪里?实际上,将在设置tpd之前调用super,因此这不会有帮助。JFrame有一个setTitle方法,如果无法在super构造函数中传递名称,您可以稍后使用该方法。
System.out.println(getName);