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

  • 相关阅读:
    windows 乱码之 gbk 与 cp936
    jdcli 在命令行反编译jar包
    建议博客园向独立博客提供发布到首页的服务
    IsByRef在什么情况下为true?
    Hibernate里自定义UserType时取不到值的问题
    解决安装Visual Studio 2010 SP1时被NDP40KB2468871.exe补丁卡死以及mscorsvw.exe进程CPU占用率高的问题
    FROM WAS7/JDK5 TO WAS6/JDK4
    C++山寨C#中的DataTable
    程序员的自我修养读书笔记
    Web开发之路
  • 原文地址:https://www.cnblogs.com/aomi/p/3131720.html
Copyright © 2011-2022 走看看