这个Java类有什么问题?
每次我在主Java类上创建一个新的Dog对象时,我都无法用我想要的字符串替换“null”(它表示Dog类中的String Name变量)。下面是课堂:这个Java类有什么问题?,java,variables,Java,Variables,每次我在主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
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;
}
您将构造函数的左括号改为注释:
public Dog(String Name, int Age) //Constructor { <-- Brace is part of comment
好吧,你有以大写字母开头的变量,你在构造函数定义中注释掉了一个括号,你做了不必要的字符串转换 可能的修复选项->按如下方式创建类:
public class Dog {
private String name;
private int age;
}
然后,从IDE转到代码生成选项->为这两个字段选择生成getter和setter。选择带参数的构造函数生成。完成。很好:)
public Dog(字符串名,int Age)//构造函数{
试试
dog1=newdog(“James”,2);
取而代之。字符串文字必须用双引号括起来,否则将被视为变量
或者,添加
String James=“狗的名字”
在用
dogdog1=newdog(James,2);
实例化狗之前,您会得到什么错误消息,这些方法是否在“Dog”中声明类?我想是的,但是你没有包括实际的类定义。你能展示一下你是如何使用这个类的吗?你怎么说你不能替换空值的,你能举个例子说明你是怎么做的吗?而且这个类型转换是不必要的。这个名称=(字符串)Name;不相关,但您不需要从字符串转换为字符串,并且使用大写名称的成员变量/参数违反惯例,有点令人困惑。如何实例化Dog对象?是否通过set方法设置名称?即使注释设置正确,Dog对象也不会ot允许我替换不是要点的“null”。即使注释是这样设置的,当我创建一个新的Java主类时,我无法创建“Dog”对象。我收到消息“找不到符号。符号:变量James”
public class Dog {
private String name;
private int age;
}