继承:复用已经存在的类和方法。
反射:在程序运行期间发现更多的类和其属性的能力。
class Manager extends Employ{
//这里extends是标识继承的关键字。
}
已经存在的是基类(也叫超类或者父类),基类中是更加通用的功能和方法。
Java中所有的继承都是公共继承。
新的类是子类、派生类。相对来说子类的功能和方法更加丰富。子类中可以增加域、增加或者覆盖超类的方法,但是不能删除继承的任何域和方法。
利用新的方法可以覆盖(Override)基类中的原始方法。
如果基类的某个方法被重写后,但是需要调用基类的这个方法,必须使用super关键字来访问,否则访问的只能是子类的这个同名的方法,
访问的时候double xxx = super.getSalary(),这里super只是指示编译器调用超类方法的特有关键字;
但是,super(n,s,year,month,day)却有不同的含义,他是调用超类中含有n、s、year、month、day参数的构造器;
使用super调用构造器的语句必须是子类构造器的第一条语句;如果没有显式的调用超类的构造器则将自动调用超类的默认构造器;
如果超类没有不带参数的构造器,且子类中构造器无显式调用超类的其他构造器,则Java编译器将报告错误。
一个对象变量可以引用多种实际类型的现象被称为多态;在运行时能够自动选择调用哪个方法的现象为动态绑定。
Java中,不需要将方法声明为虚拟方法,动态绑定是默认的处理方式,如果不希望一个方法有虚拟特征,可以将它标记为final。
由一个公共超类派生出来的所有类的集合被称为继承层次。一个祖
反射:在程序运行期间发现更多的类和其属性的能力。
class Manager extends Employ{
//这里extends是标识继承的关键字。
}
已经存在的是基类(也叫超类或者父类),基类中是更加通用的功能和方法。
Java中所有的继承都是公共继承。
新的类是子类、派生类。相对来说子类的功能和方法更加丰富。子类中可以增加域、增加或者覆盖超类的方法,但是不能删除继承的任何域和方法。
利用新的方法可以覆盖(Override)基类中的原始方法。
如果基类的某个方法被重写后,但是需要调用基类的这个方法,必须使用super关键字来访问,否则访问的只能是子类的这个同名的方法,
访问的时候double xxx = super.getSalary(),这里super只是指示编译器调用超类方法的特有关键字;
但是,super(n,s,year,month,day)却有不同的含义,他是调用超类中含有n、s、year、month、day参数的构造器;
使用super调用构造器的语句必须是子类构造器的第一条语句;如果没有显式的调用超类的构造器则将自动调用超类的默认构造器;
如果超类没有不带参数的构造器,且子类中构造器无显式调用超类的其他构造器,则Java编译器将报告错误。
一个对象变量可以引用多种实际类型的现象被称为多态;在运行时能够自动选择调用哪个方法的现象为动态绑定。
Java中,不需要将方法声明为虚拟方法,动态绑定是默认的处理方式,如果不希望一个方法有虚拟特征,可以将它标记为final。
由一个公共超类派生出来的所有类的集合被称为继承层次。一个祖