自学Java系列 笔记2 Java类设计3

来源:互联网 发布:android 电子商城源码 编辑:程序博客网 时间:2024/06/03 23:27

Object

Object类是所有Java类的根父类

如果在类的声明中未使用extends关键字指明其父类,则默认父类为Object

 

 

==操作符与equals方法

==操作符与equals方法的区别:

==:引用类型比较引用(是否指向同一个对象,即是否指向同一块内存空间)

         Person p1=new Person();   Person p2=new Person();

         if(p1==p2){…}

 

基本类型比较值;int a=5; if(a==6){…}

 

"=="进行比较时,符号两边的数据类型必须一致(可自动转换的基本数据类型除外),或者存在父子关系,否则编译出错;

 

equals()方法是Object类的方法,由于所有类都继承Object类,也就继承了equals()方法。只能比较引用类型,其作用与“==”相同,比较是否指向同一个对象。格式:obj1.equals(obj2)

特例:当用equals()方法进行比较时,对类FileStringDate及封装类(Wrapper Class)来说,是比较类型及内容而不考虑引用的是否是同一个对象

          原因:在这些类中覆盖了equals()方法。

 需求:有时候,当两个对象的对应属性都一致时,需要判定其相等!使用= =无法完成,但可以借助equal方法

 

toString 方法

§ toString()方法在Object类中定义,其返回值是String类型,返回类名和它的引用地址。

§ 在进行String与其它类型数据的连接操作时,自动调用toString()方法

     Date now=new Date();

     System.out.println(“now=”+now); 

    相当于System.out.println(“now=”+now.toString());//now=Date@122345

§ 可以根据需要在用户自定义类型中重写toString()方法

     String类重写了toString()方法,返回字符串的值。

     s1=“hello”;

     System.out.println(s1);

相当于System.out.println(s1.toString());

  ToString1.java中的类A里覆盖toString方法,使其输出类A对象的cint属性值。

§ 基本类型数据转换为String类型时,调用了对应封装类的toString()方法inta=10;  System.out.println(“a=”+a);

 

0 0