Java基础学习第十四讲:Java面向对象---Object类

本文介绍了Java中Object类的基础概念,包括隐式和显式继承、常用方法如toString(), equals(), clone(), getClass(),和hashCode()的详解,以及这些方法在实际编程中的作用。
摘要由CSDN通过智能技术生成

Object类

Java中Object 类是所有类的父类,也就是说 Java 的所有类都继承了 Object,子类可以使用 Object 的所有方法。
Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object 的子类。

//隐式继承Object
public class Dome {

}
//显式继承Object
public class Dome extends Object{

}

object常用方法

一、toString()方法
返回该对象的字符串表示。通常,toString()会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。toString()是可重写方法,通常情况下建议重写该方法。如果类对象调用toString()方法,则返回类名+哈希吗的字符串。

		Dome d=new Dome();
		System.out.println(d.toString());

在这里插入图片描述
二、equals()方法

Object中的equals方法是直接判断this和obj本身的值是否相等,即用来判断调用equals的对象和形参obj所引用的对象是否是同一对象,所谓同一对象就是指内存中同一块存储单元,如果this和obj指向的是同一块内存对象,则返回true,如果this和obj指向的不是同一块内存,则返回false,注意:即便是内容完全相等的两块不同的内存对象,也返回false。String中的equals()方法是重写后的方法,比较的是字符串的值。所以本质上equals()方法与“==”是一样的。

		Dome d=new Dome();
		Dome d1=new Dome();
		System.out.println(d.equals(d1));
		
		String s=new String("123");
		String s1=new String("123");
		System.out.println(s.equals(s1));

在这里插入图片描述
三、clone()方法
clone意思是克隆、复制。在Java语言中,当对象调用clone()方法时,就会复制已有的对象。clone()方法在根类Object中定义如下。要使类具有克隆能力能力时,需要实现Cloneable接口。clone()方法是目前为止除了new关键字外另一种创建对象实例的方式。
四、getClass()方法
我们知道在Java中一切都是对象,我们一般所使用的对象都直接或间接继承自Object类。Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的class对象。这个对象指的是代表一个类型的对象,因为一切皆是对象,类型也不例外,在Java使用class类的对象来表示一个类型。所有的类型类都是Class类的实例。
因此,获取类的class对象的两种方式:

  • 如果你知道一个实例,那么你可以通过实例的“getClass()”方法获得该对象的class对象
  • 如果你知道一个类型(String名称),那么你可以使用“类名.class”的方法获得该类型的class对象

五、hashCode()方法
通过方法获取对象的 hash 值。当我们未重写toString()方法时,返回的字符串@符号后面的就是对象的hash值。hash值是通过和当前线程有关的一个随机数+三个确定值,运用随机数算法得到的一个随机数。和对象内存地址无关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值