题目(5):创建一个名为dog的类,它包含两个string域:name和says。在main()方法中,创建两个Dogs对象,一个名为spot(它的叫声为”Ruff!”),另一个名为scruffy(它的叫声为”Wuff!”)。然后显示它们的名字和叫声。
代码如下:
public class Dog {
public String name;
public String says;
public static void main(String[] args){
Dog spot = new Dog();
spot.name = "spot";
spot.says = "Ruff!";
Dog scruffy = new Dog();
scruffy.name = "scruffy";
scruffy.says = "Wurf!";
System.out.println(spot.name + " says " + spot.says);
System.out.println(scruffy.name + " says " + scruffy.says);
}
}
控制台输出:
spot says Ruff!
scruffy says Wurf
再看练习(6):在练习(5)的基础上,创建一个新的Dog索引,并对其赋值为spot对象。测试用==和equals()方法来比较所有引用的结果。
public class Dog {
public String name;
public String says;
public static void main(String[] args){
Dog spot = new Dog();
spot.name = "spot";
spot.says = "Ruff!";
Dog scruffy = new Dog();
scruffy.name = "scruffy";
scruffy.says = "Wurf!";
//System.out.println(spot.name + " says " + spot.says);
//System.out.println(scruffy.name + " says " + scruffy.says);
Dog wangCai = spot;
System.out.println(wangCai == spot);//==比较的是引用指向的对象的内存地址
System.out.println(wangCai.equals(spot));//equals默认行为是比较引用
}
}
控制台输出:
true
true