继承
1、继承是面问对象三大特征之一,三大特征分别是:封装、继承、多态2、继承基本”的作用是:代码复用。但是继承最重要”的作用是:有了继承才有了以后方法的覆盖”和多态机制"。
3、继承语法格式:
[修饰符列表]class类名extends父类名{
类体=属性+方法
}
4、java语言当中的继承只支持单继承,一个类不能同时继承很多类,只能继承一个类。在C++中支持多继承。
5、关于继承中的一些术语:
B类继承A类,其中:
A类称为:父类、基类、超类、superclass
B类称为:子类、派生类、subclass
6、在java语言当中子类继承父类都继承哪些数据呢?
私有的不支持继承构造方法不支持继承
其它数据都可以被继承
7、虽然java语言当中只支持单继承,但是一个类也可以间接继承其它类,|例如:
C extends B{
)
B extends A{
}
A extends T{
}
C类直接继承B类,但是C类间接继承T A 类,
8. 当一个类没有显示继承任何类,那么默认继承object类。java类,lang类。
方法重写
override/overwrite
1、什么时候使用方法重写??
当父类中的方法已经无法满足当前子类的业务需求,子类有必要将父类中继承过来的方法进行重新编写,这个重新编写的过程称为方法重写/方法覆盖。
2、什么条件满足之后方法会发生重写呢?【代码满足什么条件之后,就构成方法的覆盖呢?】
*方法重写发生在具有继承关系的父子类之间
*返回值类型相同,方法名相同,形参列表相同
访问权限不能更高,可以更低,共有不能继承私有类型
抛出异常不能更多,可以更少
3、方法重写时用复制粘贴,避免出错
4. 私有方法不能继承,所以不能覆盖
构造方法不能继承,所以不能覆盖。
静态方法不存在覆盖。【讲完多态之后解释】
覆盖只针对方法,不谈属性。