Java入门 13 03\21

Java入门 13 03\21

Object 类的使用

  • Object类是所有Java类的根父类
  • 如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类
  • Object类只声明了一个空参的构造器。
    在这里插入图片描述

final、finally、finalize的区别?

1、final修饰符是一种关键字*

2、finally是在异常处理时提供finally块来执行任何清除操作。

3、finalize是一个方法名。
三者的具体区别

重写equals()

  • 重写的原则:比较两个对象的实体内容(即: name 和 age )是否相同。

    ​ 有自动生成的equals();
    在这里插入图片描述

== 与 equals() 的区别:

== 的使用:

  1. == 为运算符。

  2. 可以使用在 ①基本数据类型变量 和 ②引用类型变量 中。

  3. 如果比较的是基本数据类型变量,比较两个变量保存的数据是否相等(相等则为true)。( 不一定类型要相同 )。

    如果比较的是引用数据类型变量,比较的是两个对象的地址值是否相同。

    (即 两个引用是否指向同一个对象实体 。)
    注意 : == 使用时左右的变量类型必须一致。

equals的使用:

  1. 是一个方法,而非运算符。

  2. 只能适用于 ① 引用数据类型 。

  3. Object类中equals()的定义:

    public boolean equals(Object obj){

    ​ return(thsi == obj);

    }

    说明: Object类中定义的equals()和 == 的作用是相同的 ,比较两个对象的地址是否相同,即两个引用是否指向同一个实例。

  4. 像String、Date、File、包装类等都重写了Object类中的equals()方法, 重写以后,比较的不是两个引用的地址是否相同,而是比较两个对象的实体内容是否相同

  5. 通常情况下,我们自定义类如果使用equals()的话,也通常是比较两个对象的 “ 实体内容 ” 是否相同。那么我们就需要对Object类中的equals()方法进行重写。

toString()方法

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

    1. 当我们输出一个对象的引用是,实际上就是调用当前对象的toString()

    2. Object类中toSrting()的定义:

      ​		
    
     
      public String toString()
      {
      	return getClass().getName() + "@" +               		Integer.toHexString(hashCode());
      }
     
    
    3. 像String、Date、File、包装类等都重写了Object类中的toString()方法。
    
      ​	使得在调用对象的toString()时,返回了“实体内容”信息。
    
    4. 自定义也可以重写toSring()方法,当调用此方法时,返回对象的  “  实体内容  ”。
    
      `
      public String toString()
      {
      		return "Customer[name = " + name + ", age = " + age + "]";
      }
     
    
      
    
      ​	Source --> Generate toString() --> 
    
  • 在进行String和其他类型数据的连接操作时,自动调用toString()方法。

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

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

    ​ eg: s1 = “hello”;

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值