父类和子类有相同名称方法时 (变量不能被重写(覆盖),”重写“的概念只针对方法)
父类类型 a = new 子类类型();
变量是用到父类的,方法是用子类的。//有疑问
Eg:
a.xxx xxx是用到父类的
继承(is-a):
类继承语法规则: 访问修饰符 class <类名> [extends < 父类名>] {类主体}
假定有两个类,它们或多或少地具有一组相同的属性和方法。
Java只支持单继承,不允许多重继承
一个子类只能有一个父类
一个父类可以继承出多个子类
可以创建一个具有两个类的共同属性的父类,而不声明两个不同的类,因此,子类可以继承父类的全部或部分属性。
在OOP(面向对象)术语中父类还可以成为超类或基类,子类又称为派生类。
子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法
在一个Java类中可以通过两种方式获得构造方法(当父类没有无参构造方法时,子类必须有显示构造方法,且在方法体的第一行必须有 super(父类构造方法的参数列表))
super:指当前对象的父类对象
this: 指当前对象
用于任何实例方法内,指向当前对象
this 的值指向对其调用当前方法的对象
this 关键字可在需要当前类类型的对象引用时使用
使用系统默认的无参构造方法
显式定义一个或多个构造方法
一旦显式定义了构造方法,则系统不再提供默认构造方法
继承的实现手段是派生和扩展
实现了代码重用
定义共同的协议