继承性:
1.为什么要有类的继承性?
- ① 减少了代码的冗余,提高了代码的复用性
- ② 便于功能的扩展
- ③ 为之后多态性的使用,提供了前提
2.继承性的格式
- class A extends B{}
- A:子类、派生类、subclass
- B:父类、超类、基类、superclass
3.继承性中父类和子类的区别
- 一旦子类A继承父类B以后,子类A中就获取了父类B中声明的所有的属性和方法。
- 子类继承父类以后,还可以声明自己特有的属性或方法:实现功能的拓展。
- java中只具有单继承性一个子类只可以继承一个父类,而一个父类可以被多个子类所继承
- 子类直接继承的父类,称为:直接父类。间接继承的父类称为:间接父类
重写:(方法可以重写,而属性不可重写)
1.什么是方法的重写(override 或 overwrite)?
- 子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作.
2. 应用:
- 重写以后,当创建子类对象以后,通过子类对象调用子父类中的同名同参数的方法时,实际执行的是子类重写父类的方法。
3.重写的规则
方法的声明: 权限修饰符 返回值类型 方法名(形参列表) throws 异常的类型{
-
//方法体
-
}
-
约定俗称:子类中的叫重写的方法,父类中的叫被重写的方法
-
① 子类重写的方法的方法名和形参列表与父类被重写的方法的方法名和形参列表相同
-
② 子类重写的方法的权限修饰符不小于父类被重写的方法的权限修饰符
-
特殊情况:子类不能重写父类中声明为private权限的方法
-
③ 返回值类型:
-
父类被重写的方法的返回值类型是void,则子类重写的方法的返回值类型只能是void
-
父类被重写的方法的返回值类型是A类型,则子类重写的方法的返回值类型可以是A类或A类的子类
-
父类被重写的方法的返回值类型是基本数据类型(比如:double),则子类重写的方法的返回值类型必须是相同的基本数据类型(必须也是double)
-
④ 子类重写的方法抛出的异常类型不大于父类被重写的方法抛出的异常类型(具体放到异常处理时候讲)
-
子类和父类中的同名同参数的方法要么都声明为非static的(考虑重写,要么都声明为static的(不是重写)。
区分重写和重载
- 重载,是指允许存在多个同名方法,而这些方法的参数不同。编译器根据方法不同的参数表,对同名方法的名称做修饰。
- 子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作.