java中的继承与实现
继承是类与类之间的关系,是一个很简单很直观的概念,与现实世界中的继承(例如儿子继承父亲财产)类似。
继承可以理解为一个类从另一个类获取方法和属性的过程。如果类B继承于类A,那么B就拥有A的方法和属性。
继承使用 extends 关键字。
class People{
String name;
int age;
int height;
void say(){
System.out.println("我的名字是 " + name + ",年龄是 " + age + ",身高是 " + height);
}
}
class Teacher extends People{
String school; // 所在学校
String subject; // 学科
int seniority; // 教龄
// *覆盖* People 类中的 say() 方法
void say(){
System.out.println("我叫" + name + ",在" + school + "教" + subject + ",有" + seniority + "年教龄");
}
void lecturing(){
System.out.println("我已经" + age + "岁了,依然站在讲台上讲课");
}
}
子类可以覆盖父类的方法。
子类可以继承父类除private以为的所有的成员。
构造方法不能被继承。
继承是在维护和可靠性方面的一个伟大进步。如果在 People 类中进行修改,那么 Teacher 类就会自动修改,而不需要程序员做任何工作,除了对它进行编译。
单继承性:Java 允许一个类仅能继承一个其它类,即一个类只能有一个父类,这个限制被称做单继承性。后面将会学到接口(interface)的概念,接口允许多继承(都拥有一个祖先类object)。
注意:构造方法不能被继承,掌握这一点很重要。 一个类能得到构造方法,只有两个办法:编写构造方法,或者根本没有构造方法,类有一个默认的构造方法。