深入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中所有类的父类,它可以接收所有的引用数据类型的对象
到此这篇关于Java万物之母Object类详情的文章就介绍到这了,更多相关Java Object类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!