java三大特性:
- 继承
- 封装
多态
类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。
有利于提高代码的复用,关键词是extends,只支持单继承。
简单说:我继承了你,你的就是我的,我的还是我的如果定义了一个类,没有调用extends,则它的父类是java.lang.Object
在子类中可以根据需要对基类中继承来的方法进行重写。
- 重写必须和被重写方法具有相同方法名称、参数列表和返回类型。
重写方法不能使用比被重写方法更严格的访问权限。
重写:toString方法
- 默认返回:包名+类名+@+哈希码(根据对象内存位置生成,唯一不重复)
- 可以重写
public String toString(){
return getClass().getName()+"@"+Integer.toHexString(hashCode());
//原Object类的toString方法
public String toString(){
return "你好!";
} //重写后的toString方法
super是直接父类对象的引用,可以通过super来访问父类中被子类覆盖的方法或属性。
注意点:
- super在构造方法中永远处于第一行;
- 如果实现了对父类构造方法的重写,那么,在对子类对象的生成时,构造方法的调用顺序应是先父类再子类;
顺便提一下继承与组合的关系:
- “is-a”关系使用继承
- “has-a”关系使用组合