因此,我创建了自己的名为Guidelines的类,当用户按下某个按钮时,它将包含一些要在新窗口中显示的文本。
public class Guidelines {
public Guidelines(String buttonName){
guidelines(buttonName);
}
private String guidelines(String buttonName){
String content = "";
if (buttonName.equals("norman"))
content = "Norman is the man!";
if (buttonName.equals("nielsen"))
content = "Nielsen is the best!";
if (buttonName.equals("fitt"))
content = "Fitt rocks!";
return content;
}
}
但是当我在我的主班级中这样称呼这个班级时:
Guidelines content = new Guidelines("norman");
JTextArea textArea = new JTextArea(String.valueOf(content));
我没有得到像
"Norman is the man!"
这样的字符串,但是却得到了像uv.Guidelines@12ce0bf
这样的字符串。我猜在将对象转换为字符串时存在问题。我如何获得字符串? 最佳答案
根据您的代码,您正在执行的操作是定义一个带有构造函数名称Guidelines
的类,该构造函数名称为一个字符串值,并且具有一个名为guidelines
的方法,该方法返回一个String并接收一个字符串值。
现在,当您创建对象/实例时
Guidelines content = new Guidelines("norman");
它会为您创建一个Guidelines对象,并通过传递norman来调用方法
guidelines(String buttonName)
。现在正在调用构造函数,并且构造函数正在调用方法,但是构造函数未返回任何内容。所以每当你写作Guidelines content = new Guidelines("norman");
reference变量在我们的案例内容中包含对对象的引用。如果打印参考变量,则在该特定对象为
hashCode
的情况下将看到该uv.Guidelines@12ce0bf
。您需要做的就是像这样执行对方法
guidelines(String buttonName)
的调用,并且要进行调用,您必须将方法声明为public。String buttonName = content.guidelines("norman);
然后传递变量buttonName
JTextArea textArea = new JTextArea(buttonName);
或者你可以直接打电话
JTextArea textArea = new JTextArea(String.valueOf(content.guidelines("norman")));