类的复写
复写 (overrride)也被称之为覆盖或者重写
1.在具有父子关系的两个类当中
2.父类和子类各有一个函数,这两个函数的定义(返回值类型、函数名和参数列表)完全相同
3.需要父类该函数的功能时,在子类函数里面通过super.+函数名的形式,可完成调用,根据需要,可随意调换其位置。
对象的向上转型与向下转型
向上转型——将子类的对象赋值给父类的引用:
Student s = new Student();
Person p = s; //Person是Student 的父类
一个引用能够调用哪些成员(变量和函数),取决于这个引用的类型
一个引用调用的是哪一个方法,取决于这个引用所指向的对象
向下转型——将父类的对象赋值给子类的引用:
Student s1 = new Student();
Person p = s1;
Student s2 = (Student)p;