- 覆盖(override)
不可删除继承的所有域和方法
子类重写父类方法的四大原则:
两同;方法名以及参数列表相同(即签名相同
两小;返回对象和抛出异常更小,此处更小的意思是子类返回对象可以是继承于父类返回对象。
一大;访问权限不能变小。
采用super关键字(和this关键字不一样,super不是对象的引用)调用父类中被重写的方法。 - 若子类想访问父类的私有域,只能通过父类中的接口访问
- 子类构造器
在子类构造器中通过对父类构造器的调用对父类中的私有域进行初始化,采用 super(父类构造器的参数列表) 形式进行调用,必须是子类构造器的第一个语句。如果没有显示调用,会默认调用父类中无参数的构造器。 - 多态
一个对象变量可以指示多种实际类型的现象,例如一个employee类变量既可以引用一个employee对象,也可以引用一个employee类的任何一个子类的对象。
例如:employee e = new mannger
编译看左,运行看右。若访问e的域或者调用private方法、static方法、final方法,e为employee类的对象;若调用其他类型的方法,依赖于e的实际类型(mannger类型),采用动态绑定。
参考文章https://blog.csdn.net/qq_35590091/article/details/105868964 - 阻止继承: final类和方法
不允许扩展的类称为final类,final类中的方法自动称为final方法,域没有自动称为final域,final方法不可以被覆盖。 - 抽象类
Java核心技术卷一第五章 -- 继承
最新推荐文章于 2021-07-19 21:28:43 发布