这个Java类有什么问题?

时间:2011-11-11 22:07:11

标签: 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 Age;
}

public void setAge(int Age) {
    this.Age = Age;
}

public String getName() {
    return Name;
}

public void setName(String Name) {
    this.Name = Name;
}

4 个答案:

答案 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