class Test1
 {
   public boolean Test1(String a,String b)
    {
       if(a.equal(b))
         return (a==b);
       else 
         return (a!=b);
    }
 }public class Test
 {
    public static void main(String args[])
     {
        Test1 t1=new Test1("ab","Ab");        Test1 t2=new Test1("ok","oK");        Test1 t3=new Test1("my","my");
        System.out.println("t1="+t1);
        System.out.println("t2="+t2);
        System.out.println("t3="+t3);
     }
 }结果:
     t1=false
     t2=false
     t3=true不知道我这个对不对,我还没有运行过呢?请教各位高手!

解决方案 »

  1.   

    String对象之间比的话equals是比本身的值,==符号是比2个对象所在的内存块地址。
      

  2.   

    怎么我没有学过这样编的啊    高手啊     郁闷
    能通过编译的话   可能sun公司要倒闭了
      

  3.   

    虽然我也是刚学JAVA,但是我敢保证你哪个程序绝对不会通过编译,建议你看看基础吧,看下什么是方法、什么是构造器。
      

  4.   

    这程序 真晕!~
    System.out.println("t1="+t1);//类里toString()方法都没有就能这样用public boolean Test1(String a,String b)//这是构造器还是普通方法啊。 a==b和a!=b 里有很多学问 怎么能这么简单的就那来用
      

  5.   

    Test1 t1=new Test1("ab","Ab");        Test1 t2=new Test1("ok","oK");        Test1 t3=new Test1("my","my");
    都是错误的。   public boolean Test1(String a,String b)
        {
           if(a.equal(b))
             return (a==b);
           else 
             return (a!=b);
        }上面是方法不是构造器,构造器无返回值。
      

  6.   

    System.out.println("t1="+t1);//类里toString()方法都没有就能这样用
    用是可以用只不过打印出来的是类名加地址罢了