继承示例 - 请考虑以下两个类
老师班:
class Teacher {
private String name;
private double salary;
private String subject;
public Teacher (String tname) {
name = tname;
}
public String getName() {
return name;
}
private double getSalary() {
return salary;
}
private String getSubject() {
return subject;
}
}
OfficeStaff 类:
class OfficeStaff{
private String name;
private double salary;
private String dept;
public OfficeStaff (String sname) {
name = sname;
}
public String getName() {
return name;
}
private double getSalary() {
return salary;
}
private String getDept () {
return dept;
}
}
- 这两个类共享很少的共同属性和方法。因此重复代码。
- 创建一个包含常用方法和属性的类。
- Teacher 和 OfficeStaff 类可以继承 Employee 类下面的所有常用属性和方法。
员工类:
class Employee{
private String name;
private double salary;
public Employee(String ename){
name=ename;
}
public String getName(){
return name;
}
private double getSalary(){
return salary;
}
}
- 向它添加单个方法和属性一旦我们创建了一个定义一组对象共有的属性的超类,它就可以用来创建任意数量的更具体的子类
- 可以从 Employee 类生成任何类似的类,如 Engineer,Principal 作为子类。
- 父类称为超类,继承类是子类
- 子类是超类的专用版本 - 它继承了超类定义的所有实例变量和方法,并添加了自己的唯一元素。
- 尽管子类包含其超类的所有成员,但它无法访问已声明为私有的超类成员。
- 超类的引用变量可以分配给对从该超类派生的任何子类的引用,即 Employee emp = new Teacher();