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

  • 相关阅读:
    微信小程序右上角胶囊的位置
    NLP复习大纲
    网站收藏
    css中如何调整插入背景图片的大小
    禁止Power Apps Canvas用户通过SharePoint Online UI界面访问站点list
    c++ vector基本知识
    c++ map基本知识
    c++ string操作
    python学习笔记30:操作excel
    c++, 如何run一个c++程序
  • 原文地址:https://www.cnblogs.com/aomi/p/3131720.html
Copyright © 2011-2022 走看看