继承:基于已存在的类构造一个新类,继承已存在的类就是复用(继承)这些类的方法和域,在此基础上还可以添加新的方法和域。
反射:是指在程序运行期间发现更多的类一起属性的能力。
1.类、超类、子类
关键字extends表明正在构造的新类派生与一个已经存在的类。已存在的类称为:父类、基类、超类。新类称为子类、派生类、孩子类。子类比超类拥有更多的功能。super:子类调用超类的域或者方法时使用。
super.functionName();
Manager继承Employee类,不能够删除继承的任何域和方法。
public Manager(String n, double s, int year, int month, int day) {
super(n, s, year, month, day);
}
super(n, s, year, month, day):指调用超类中涉及相关域的构造器。
super关键字的用途:
- 调用超类的方法。
- 调用超类的构造器。
多态:一个Employee对象既可以引用Employee类对象,也可以引用Employee类的任何一个子类对象。
Manager boss =new Manager("Carl" , 80000,1987,12,15);
// boss.setBonus(5000);
Employee[] staff = new Employee[3];
staff[0] = new Manager("Carl" , 80000,1987,12,15);
// staff[0] = boss;
// boss = staff[0]; // Error
Manager boss = (Manager) staff[0]; // Right
staff[1] = new Employee("Harry" , 50000,1989,10,1);
staff[2] = new Employee("Tony", 40000, 1990, 3, 15);
for(Employee e : staff) {
System.out.printl