小弟初学Java  碰到这样一个题目....硬是做不出
  练习使用equals()方法:创建一个名称为bird的类,类中包含一个String 类型的数据成员.为bird类定义两个构造函数:一个不带任何参数,在函数内将成员变量初始化为"Parrot",并输出一条消息;另一个带一个String类型的参数,用参数初始化成员变量,并输出一条消息.创建一个名为OverloadConstruct的类,在该类中定义main()方法,在main()方法中创建三个bird的对象.第一个和第三个对象不传递参数,第二个对象带一个参数,参数值为"Dove".
1.检查第一个和第三个对象是否相等.
2.检查第一个和第三个对象的实例变量值是否相等.
3.检查字符串Dove是否与第二个对象的实例变量值相等.
提示:按照要求创建一个类并创建构造函数.  使用==运算符检查对象是否相等.  使用equals()方法检查对象变量是否相等

解决方案 »

  1.   

    public class Bird{   private String name="Parrot";
       public Bird(){   }   public Bird(String name){
         
          this.name=name;
       }   public boolean equals(Object obj){      if(obj instanceof Bird){
             
              if(getName()!=null){
                 
                 return getName().equals(obj.getName());
              }
              else if(obj.getName()==null){
                 
                 return true;
              }
              return false;
          }
          return false;
       }
       public String getName(){      return name;
       }
    }
      

  2.   

    class Bird{   private String name=null;
       public Bird(){
          name="Parrot";
          System.out.println("######");
       }   public Bird(String name){     
          this.name=name;
          System.out.println("######");
       }
      }
      public class OverloadConstruct{
        public static void main(){
           Brid one=new Brid();
           Brid two=new Brid("Dove");
           Brid three=new Brid();
           System.out.println("检查第一个和第三个对象是否相等:"+(one==three));
           System.out.println("检查第一个和第三个对象的实例变量值是否相等:"+(one.equals(three)));
           System.out.println("检查字符串Dove是否与第二个对象的实例变量值相等:"+(two.equals("Dove")));
        }
      }
      

  3.   

    有的地方写错了啊
    不好意思,一时着急了class Bird{   String name=null;
       public Bird(){
          name=new String("Parrot");
          System.out.println("######");
       }   public Bird(String name){     
          this.name=name;
          System.out.println("######");
       }
      }
      public class OverloadConstruct{
        public static void main(){
           Brid one=new Brid();
           Brid two=new Brid("Dove");
           Brid three=new Brid();
           System.out.println("检查第一个和第三个对象是否相等:"+(one==three));
           System.out.println("检查第一个和第三个对象的实例变量值是否相等:"+((one.name).equals(three.name)));
           System.out.println("检查字符串Dove是否与第二个对象的实例变量值相等:"+((two.name).equals("Dove")));
        }
      }
      

  4.   

    呵呵.. 大哥.. 你写错了 . 6个错误。 . class Bird                                           Brid one=new Brid();   接分
      

  5.   

    class Bird
    {
    private String str;
    Bird()
    {
    this.str="Parrot";
    System.out.println(str);
    }
    Bird(String str)
    {
    this.str=str;
    System.out.println(str);
    }
    }
    public class OverloadConstruct 
    {
    public static void main(String[] args) 
    {
    Bird bird1=new Bird();
    Bird bird2=new Bird("Dove");
    Bird bird3=new Bird();
    System.out.println(bird1==bird3);
    System.out.println(bird1.equals(bird3));
    System.out.println("Dove".equals(bird2));
    }
    }