多态和Object类

多态

通过对象变量调用函数的时候,调用哪个函数这件事情就叫做绑定

静态绑定:根据变量的声明类型来决定

动态绑定:根据变量的动态类型来决定

在成员函数中调用其他成员函数也是通过this这个对象变量来调用的

覆盖override

子类和父类中存在名称和参数表完全相同的函数,这一对就构成覆盖关系

通过父类的变量调用存在覆盖关系的函数的时候,会调用变量当时锁管理的

对象所属的类的函数

 

Object类

Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。Object类是Java中其他所有类的祖先.

Object类是Java中唯一没有父类的类。其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。

Object 类位于 java.lang 包中,编译时会自动导入,我们创建一个类时,如果没有明确继承一个父类,那么它就会自动继承 Object,成为 Object 的子类。

函数:

  • toString

  • equals()

  •  

     

  •  

进行判断

 

 

可以给你当作注释用,感觉这个也不能说明什么,注释也没什么用

可以告诉读你代码的人,这是对它父类方法的重写,其实很多代码规范没有为什么,规范就是规范,代码的可读性还是很重要的

编译器可以验证@Override下面的方法名称是否是你父类中所有的,如果没有就会报错

比如当你想要在子类中重写父类的一个方法,但是你把名字打错了,当你写了@Override编译器会提示你,你写的这个方法父类中没有;

但是如果你没有写@Override编译器就会觉得这个是你子类中写的新的方法,并不会报错,到时候你debug还是很麻烦的一件事。

 

 

posted @ 2022-06-11 17:28  魔光领域  阅读(31)  评论(0编辑  收藏  举报