zoukankan      html  css  js  c++  java
  • 重头学习java(6) object类

    object类,是所有类的祖宗。

    可以使用Object类型的变量引用任何类型的对象。

    java规范要去equals具有以下特性:

    1)自反性:对于任何非空引用x,x.equals(x)为true。

    2)对称性:对于任何引用x和y,当且进档y.equals(x)为true时,x.equals(y)为true。

    3)传递性:对于任何引用x,y,z:如果x.equals(y)为true,y.equals(z)为true,则x.equals(z)为true。

    4)一致性:如果x和y引用对象没有变化,则反复调用x.equals(y)应该返回相同结果。

    5)对于任何非空x,x.equals(null)返回为false。

    public class welcome {

        public static void  main(String[] args)
        {
            a a1=new a();
            b b1=new b();
            a a2=new a();
            if(b1.equals(a1))
                System.out.println("b1 equals a1,equals");
            else
                System.out.println("b1 not equals a1,equals");
            
            if(b1.hashCode()==a1.hashCode())
                System.out.println("b1 equals a1,hashcode");
            else
                System.out.println("b1 not equals a1,hashcode");
            
            
            if(a2.equals(a1))
                System.out.println("a2 equals a1,equals");
            else
                System.out.println("a2 not equals a1,equals");
            
            if(a2.hashCode()==a1.hashCode())
                System.out.println("a2 equals a1,hashcode");
            else
                System.out.println("a2 not equals a1,hashcode");
            
            
            a1=b1;
            if(b1.equals(a1))
                System.out.println("b1 equals a1,equals");
            else
                System.out.println("b1 not equals a1,equals");

            if(b1.hashCode()==a1.hashCode())
                System.out.println("b1 equals a1,hashcode");
            else
                System.out.println("b1 not equals a1,hashcode");

            
        }
    }

    class a{

         int i=0;
         int q=0;
        
        public void a(){
            System.out.println("i+q="+(i+q));
        }
    }

    class b extends a{

    }

    result is:

    b1 not equals a1,equals
    b1 not equals a1,hashcode
    a2 not equals a1,equals
    a2 not equals a1,hashcode
    b1 equals a1,equals
    b1 equals a1,hashcode

  • 相关阅读:
    软件工程第一次作业
    软工热身作业
    OO第四单元
    面向对象——规格总结
    OO电梯作业总结
    JAVA实现表达式求导运算的分析总结
    提问回顾与个人总结
    Flutter的环境配置以及一些常见问题
    软件案例分析
    软件工程结对作业
  • 原文地址:https://www.cnblogs.com/aomi/p/3131720.html
Copyright © 2011-2022 走看看