如果这是一个糟糕的问题我很抱歉,我只是想知道为什么以下代码(以及仅此代码)会创建一个Wilderness
对象?这个问题是在最近的一次考试中,我说错0
是错误的(原因主要是因为我没有看到任何说new Wilderness
等的行。
package exam1;
public class Wilderness {
public Wilderness() { // constructor
Region jungle;
jungle = new Region();
Cheetah speedy;
speedy = new Cheetah();
Jaguar sleek;
sleek = new Jaguar();
jungle.addCheetah(new Cheetah());
sleek = new Jaguar();
jungle.addCheetah(speedy);
jungle.addJaguar(sleek);
}
}
如果我编译此代码并运行它,是否创建了任何对象?特别是Wilderness
个对象。我想可能要编写一个像这样的外部类:
package exam1;
public class Driver {
public static void main(String[] args) {
exam1.Wilderness w = new Wilderness(); // creates object
}
}
为什么我会弄错了?
答案 0 :(得分:4)
我只是想知道为什么下面的代码(只有这个代码)会创建一个
Wilderness
对象?
如果是" Wilderness
对象"你的意思是" Wilderness
类的实例,"然后不,它不会。
如果我编译此代码并运行它,是否创建了任何对象?
你不能"运行"那些代码没有A)你没有展示的东西,或者B)main
中的Wilderness
方法(这只是(A)的一个具体例子)。我们无法回答(A)的问题。对于(B),答案是:没有创建Wilderness
实例,没有;表示Wilderness
类的对象是,是。
答案 1 :(得分:-1)
创建了1个荒野的对象,即w。
在驱动程序类中,您正在创建一个对象。
创造了2个Cheeta对象,即一个是快速的,另一个是jungle.addcheeta(new cheeta())中的新cheeta();
创建了1个区域对象
创造了1只美洲虎。