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

  • 相关阅读:
    阿里云自定义镜像保存规则
    linux常用命令
    SQL
    redis集群
    AOP中的通知
    mysql8.0无法给用户授权或提示You are not allowed to create a user with GRANT的问题
    ---Linux命令
    feign
    spring clud / dubbo
    Ajax嵌套问题
  • 原文地址:https://www.cnblogs.com/aomi/p/3131720.html
Copyright © 2011-2022 走看看