谁能告诉我我在下面的程序中做错了什么?我收到的错误如<identifier expected =“”>和“'; expected”

时间:2016-03-14 14:35:58

标签: java

代码是:

    import java.util.*;

public class hippotest{
public static void main(String[] args)
{
Hippo h=new Hippo("JP");
System.out.println(h.getname());
}
}

abstract class Animal{
private String name;

public Animal(String new){ 
name=new; 
}

public String getname(){
return name;
}

}

class Hippo extends Animal{

public Hippo(String name){
super(name);
}

}

我收到错误并且“';'预期的“错误。我不知道为什么会这样,有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:4)

new是保留关键字,因此您不能将其用作变量名称。重命名。

答案 1 :(得分:0)

new是Java的保留字,用于创建新实例并调用构造函数:

int[] array = new int[2];

将其重命名为与参数中的可变参数相同,并使用关键字this,如:

public Animal(String name) { 
    this.name=name; 
}

答案 2 :(得分:0)

new不会是变量名,因为它在java中是保留关键字。所以换新名称。

public class hippotest {
    public static void main(String[] args) {
        Hippo h = new Hippo("JP");
        System.out.println(h.getname());
    }
}

abstract class Animal {
    private String name;

    public Animal(String nameAnimal) { // new needs to be changed
        name = nameAnimal; //new is reserved keyword
    }

    public String getname() {
        return name;
    }
}

class Hippo extends Animal {
    public Hippo(String name) {
        super(name);
    }
}