Object类/instanceof关键字

  在前面我们学习了继承,在Java中所有的类都直接或者间接继承了java.lang.Object类。Object类比较特殊,它是所有类的父类,是Java类中的最高层类。当创建一个类时,总是继承,除非某个类已经指定要从其他类继承,否则它就是从Object类中继承而来的。由于所有类都是Object的子类,所以在定义类时,省略了extend Object关键字。
  下面为大家来介绍一些Object类中几个比较重要的方法。

1.  getClass()方法

  getClass()方法是Object中定义的方法,它会返回此 Object 的运行时类,然后使用getName()方法可以获取类的名称。语法如下:

getClass().getName();

2.  toString()方法

  toString()方法的功能是将一个对象返回为字符串形式,它会返回一个String实例。在实际的应用中通常重写这个方法,为对象提供一个特定的输出模式。

3.  equals()方法

  equals()方法是Object类中的方法,它用于比较两个对象所引用的内容是否相等。因为equals()方法的默认实现是使用“==”运算符比较两个对象的引用地址,而不是比较内容,所有要想真正做到比较两个对象的内容,需要重写equals()方法。

4.  hashCode()方法

  hashCode()方法的功能是返回该对象的哈希码值,不同的对象哈希码值是不同的。默认情况下会根据该对象的地址来计算。

5.  clone()方法

  clone()方法的功能是创建并返回此类对象的一个副本。如果一个对象需要调用clone()方法,那么必须实现Cloneable接口(该接口是一个标识接口,没有任何方法)。如果被克隆的对象中维护了另外一个类的对象,这时候只是克隆另外一个对象的地址,而没有把另外一个对象也克隆一份。这种称为浅克隆,而深克隆是把克隆对象的维护对象也一并克隆。

6.  instanceof关键字

  当程序执行向下转型的操作时如果父类对象不是子类对象的实例,就会发生ClassCastException异常,所以在执行向下转型的时候需要判断父类对象是否为子类对象的实例。这个判断用instanceof操作符来完成。
  instanceof的语法格式如下:

`某个类的对象 instanceof 某个类`

  使用instanceof操作符的表达式返回值为布尔型。如果返回值为true,说明某个类的对象是某个类的实例对象;如果返回值为false,说明不是。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值