java题目怎么做

来源:百度知道 编辑:UC知道 时间:2024/05/10 13:20:19
创建一个名称为bird的类,类中包含一个String类型的数据成员.为bird类定义两个构造函数:一个不带任何参数,在函数内将成员变量初始化为"Parrot",并输出一条消息;另一个带一个String类型的参数,用参数值初始化成员变量,并输了一条消息.创建一个名为OverloadConstruct的类,在该类中定义main()方法,在main方法中创建三个bird的对象.第一个和第三个对象不传递参数,第二个对象带一个参数,参数值为"Dove".并请执行下列步骤:
1.检查第一个和第三个对象是否相等.
2.检查第一个和第三个对象的实例变量值是否相等.
3.检查字符串Dove是否与第二个对象的实例变量值相等.

bird.java
-------------
class bird {
String s;
bird() {
this.s = "Parrot";
System.out.println("Constructed: " + s);
}
bird(String s) {
this.s = s;
System.out.println("Constructed: " + s);
}
}

OverloadConstruct.java
------------------------
class OverloadConstruct {
public static void main(String[] args) {
bird b1 = new bird();
bird b2 = new bird("Dove");
bird b3 = new bird();
System.out.println(b1==b3);
System.out.println(b1.equals(b3));
System.out.println("Dove".equals(b2));
}
}

程序输出:
---------------------
Constructed: Parrot
Constructed: Dove
Constructed: Parrot
false
false
false

解释:
------
1.很简单,b1和b3是对不同对象的引用,显然不等
2.仍然是不等的,b1.s和b3.s的虽然内容相同,但引用的是两个不同的字符串。此时若换作b1.s.equals(b3.s),将得到true
3.不等,对象类型不同,"Do