> 文档中心 > Java中的万物之母———Object类

Java中的万物之母———Object类

在这里插入图片描述


文章目录

  • 前言
  • 一、接口补充知识
  • 二、Object类
    • 1.重点一
    • 2.重点二
    • 3.重点三
    • 4.重点四
  • 总结

前言

在Java中,有一个很神奇的类,所有的类见了它都得恭敬的叫一声“父亲”,因为它就是Java中的万物之父,Object类,它是所有类的默认父类 ,子类不用使用extends关键字继承它,不管是JDK中的类,还是自定义的类


一、接口补充知识

1.接口和接口之间继承的,接口坚决不能继承一个类
在这里插入图片描述
2.如果一个类既需要继承一个类,又需要实现多个接口时先使用extends继承一个类,再使用implement实现多个接口。
在这里插入图片描述
3.关于接口的命名规范:为了区分接口和类,命名接口使用 I 开头,IRun,ISwim,子类实现一个接口时,命名以相应的接口开头,以impl结尾
eg:如果是IRun的子类,RunImpl
如果子类实现多个父接口,不需要使用此规范来命名

二、Object类

在Java中Object类是万物之母
全名称:包名.类名
java.lang.Object

1.重点一

Object类是Java中所有类的默认父类,无需使用extends来定义,class声明的类都有一个共同的父类,Object类
因为Object类是所有类的父类,使用Object引用来接收所有的类型,所有类都可以向上转型转为Object,参数最高统一化
Object obj1 = new Dog();
Object obj2 = new Person();
Objcet obj3 = new String();
这些都是可以的,都可以向上转型为Object类型
如果有一个方法fun(Object obj),那么obj就可以接收所有类型的对象
在这里插入图片描述

2.重点二

Object类中的所有方法子类全都继承下来了
我们的打印方法System.out.println(任意的数据类型) – > 默认调用了该数据类型的toString()方法,因为Object类中存在toString();
此时子类没有覆写toString(),调用的就是Object的toString();
在这里插入图片描述
我们一直说“覆写”一下toString();而不说写一个toString方法,就是因为Object类中有toString方法,子类覆写后就调用子类覆写之后的
在这里插入图片描述

3.重点三

Java中引用数据类型之间的相等使用equals方法,不能使用“ == ”, 比较的是地址
在这里插入图片描述
没覆写之前调用的父类的equals方法还是比较的地址
在这里插入图片描述

在这里插入图片描述

4.重点四

Object不仅是所有类(class)的父类,JDK对Object类做了扩展,
Object类可以接收所有引用数据类型的对象(接口,数组,类)
在这里插入图片描述
接口对象,数组对象,这些看起来毫不相关的对象,都可以使用object来接收,因此在Java中,若一个方法参数或者返回值是Object类型,说明该参数或者返回值可以接收任意引用数据类型(数组,类,接口)

除了8大基本类型没法使用Object类接收以外,所有的类型都能使用Object来接受,为了让Object可以接收所有的类,此时包装类就应运而生了,把8大基本类型变为类。


总结

本篇博客只是先带大家了解Java中这个特殊的类,Object是Java中所有类的父类,它可以接收所有的引用数据类型的对象
在这里插入图片描述
Object类中有很多的方法,本篇了解一下Object这个神奇的类,后面的方法,在后续的学习中陆续给大家介绍,希望可以给大家带来帮助