我有一个名为"name"的变量存储在工作文件夹中的另一个类中。我想将其与来自JOptionPane的用户输入进行比较。我拥有的代码是这样的:
String userInput = JOptionPane.showInputDialog(null, "What is the value?");
if(name.equals(userInput)){JOptionPane.showMessageDialog(null, "You are correct.");}
当我编译程序时,它抛出找不到符号"name"的错误。我是否必须以其他方式调用变量才能将其与用户输入进行比较,或者我在这里完全错了?
如果name
是其他对象的成员,则需要指定哪个对象。
thingWithAName.name.equals(userInput)
假设
在工作文件夹中,您有以下两个类:
class IHaveNameVariable
{
String name;
}
class IAccessNameVariable
{
public void someMethod()
{
// Uncomment the code below
// and it will compile.
// IHaveNameVariable aRef = new IHaveNameVariable();
String userInput = JOptionPane.showInputDialog(null, "What is the value?");
if(/*aRef.*/name.equals(userInput))
{
JOptionPane.showMessageDialog(null, "You are correct.");
}
}
}
所以,这就是你访问另一个类的字段的方式。 如果字段是static
,则无需使用 new
创建对象; 只需使用类名即可。