我是Java的新手,我看到了此示例代码。我不知道为什么在JavaApplication.java文件中我们需要通过new关键字创建一个新实例来设置山羊名,但是在Tiger.java中,不需要通过new关键字创建一个新实例来设置山羊名!有什么不同?

Java应用程序

public static void main(String[] args) {
    Tiger t = new Tiger();
    Goat g = new Goat();
    Goat g1 = new Goat();
    g.name = "goaty";
    g1.name = "goatia";
    t.name = "woofy";
    t.hunt(g);
    t.hunt(g1);
}


老虎.java

public class Tiger {
    String name;
    void hunt(Goat food) {
        System.out.println(name + " ate " + food.name);
    }
}


山羊java

public class Goat {
    String name;
}

最佳答案

在函数Tiger中的hunt类中,food是类型为Goat的参数,并且不需要使用new关键字实例化该参数。仅需要实例化对象。

07-25 23:20