您的位置:首页 > 移动开发 > Objective-C

Object类型与equals()方法;

2019-06-26 07:19 1666 查看

一、Object类:

Object 类仅有一个空参的构造方法。public Object(){         }

1、Object类是所有Java类的根父类;如果类的声明中未使用extends关键字指明其父类,则默认父类是Object类。例如:

              public class Person{

       ………

}

等价于:

public class Person extends Object{

       ………

}

例:method(Object obj){ … }              //可以接受任何类作为其参数

       Person o=new Person();

       method(o);

总结:1、基本数据类型:根据基本数据类型的值判断是否相等。相等返回true,否则返回false;

              2、引用数据类型:比较引用类型变量的地址值是否相等。

“Ctrl+Shift+t”:可查看object类的具体源码实现。

二、equals()方法实战:

     1、equals() : (1)、只能处理引用类型变量; (2)、在Object类,发现equals()仍然比较的是两个引用类型变量的地址值是否相等。

      2、像String类 包装类 File类 Date类这些重写了Object类的equals()方法,比较是两个对象的"实体内容"是否相同。

       3、像String类 包装类 File类 Date类这些重写了Object类的equals()方法,比较是两个对象的"实体内容"是否相同。

       4、(1)、基本数据类型:根据基本数据类型的值判断是否相等。相等返回true;反之,返回false。       注:两端数据类型可以不同,在不同的情况下,也可以返回true

          (2)、引用数据类型:比较引用类型变量的地址值

    5、关于equals()方法的代码:

[code]package com.atguigu.object;

public class TestEquals {

    public static void main(String[] args) {

//      TestEquals t=new TestEquals();

//      t.test1();

       

        //equals();  java.lang.Object类是所有类的父类。

        //equals():(1)、只能处理引用类型变量; (2)、在Object类,发现equals()仍然比较的是两个引用类型变量的地址值是否相等。

       

        Person1 p1=new Person1();

        Person1 p2=new Person1();

        System.out.println(p1.equals(p2));    //等价于:p1==p2;

        //像String类 包装类 File类 Date类这些重写了Object类的equals()方法,比较是两个对象的"实体内容"是否相同。

        String str1=new String("AA");

        String str2=new String("AA");  //false

        System.out.println(str1==str2);

        System.out.println(str1.equals(str2)); //true

    }

    public void test1() {

        //==

                //1、基本数据类型:根据基本数据类型的值判断是否相等。相等返回true;反之,返回false

                //注:两端数据类型可以不同,在不同的情况下,也可以返回true

                //2、引用数据类型:比较引用类型变量的地址值。

               

//              1、基本数据类型:根据基本数据类型的值判断是否相等。相等返回true;反之,返回false

                int i=12;

                int j=12;

                System.out.println(i==j);  //true

                char c=12;

                System.out.println(i==c);  //true

                float f=12f;

                System.out.println(i==f);  //true

                System.out.println(c==f);  //true

               

                int k=65;

                char a='A';

                System.out.println(k==a);

               

                Object obj1=new Object();

                Object obj2=new Object();

                System.out.println(obj1);

                System.out.println(obj2);

                System.out.println(obj1==obj2);   //false

               

                Person1 p1=new Person1();

                Person1 p2=new Person1();

                Person1 p3=p1;

                System.out.println(p1==p2);    //false

                System.out.println(p1==p3);    //true

    }

}

class Person1{

   

}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: