每次在主Java类上创建一个新的Dog对象时,我都无法用我想要的字符串替换“null”(表示Dog类中的String Name变量)。这是班级:
private String Name;
private int Age;
public Dog(String Name, int Age) //Constructor {
this.Name =(String) Name;
this.Age = Age;
}
public int getAge() {
return Age;
}
public void setAge(int Age) {
this.Age = Age;
}
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
答案 0 :(得分:6)
你将构造函数的左大括号发表评论:
public Dog(String Name, int Age) //Constructor { <-- Brace is part of comment
解决方案:
public Dog(String Name, int Age) /*Constructor*/ {
答案 1 :(得分:2)
好吧,你有变量以Capitals开头,你在构造函数定义中注释了一个括号,你做了不必要的String强制转换......
可能的修复选项 - &gt;像这样创建你的类:
public class Dog {
private String name;
private int age;
}
然后,从您的IDE转到代码生成选项 - &gt;选择为这两个字段生成getter和setter。选择带参数的构造函数生成。完成。
答案 2 :(得分:1)
请尝试使用Dog dog1 = new Dog("James", 2);
。字符串文字必须用双引号括起来,否则,它将被视为变量。
或添加
String James =“狗的名字”;
在使用Dog dog1 = new Dog(James, 2);
答案 3 :(得分:0)
很好:)
public Dog(String Name,int Age)//构造函数{
http://java.sun.com/docs/codeconv/html/CodeConventions.doc4.html