方法重载于覆写的区别
# | 比较点 | 重载 | 覆写 |
1 | 英文单词 | Overload | override |
2 | 概念 | 方法名相同,参数的类型或个数不同 | 方法名相同,参数类型或个数相同 |
3 | 注意点 | 访问权限不能变小 | |
4 | 范围 | 在一个类中发生 | 在继承中发生 |
This与super的区别
# | 比较点 | this | super |
1 | 属性 | this.属性 表示的是类中的属性,如果在子类中找不到属性,则会从父类中继续查找 | super.属性,表示直接查找父类中的属性 |
2 | 方法 | this.方法() 表示调用本类中的方法,如果找不到,继续从父类中查找 | super.方法() 表示子类直接调用父类中的方法 |
3 | 构造 | 可以调用本类中的其他构造方法,但是要求至少有一个构造方法是没有调用this.构造方法的。 调用构造时,this要放在首行 | 从子类调用父类的构造方法,子类不管编写的代码如何执行,必须先执行父类的构造方法。 调用构造时,要放在子类构造的第一行 |
4 | 特殊点 | this 表示当前对象 | 无此概念,一般用来制定调用目标地址 |
Final关键字的作用
- 声明类,表示这个类不能被继承
- 声明属性,表示这个属性的值不能被修改
- 声明方法,表示这个方法不能被子类覆写