多态(继承多态)
不同的子类对象转化成父类对象,那么通过父类来调用子类覆写了父类的方法时会表现为不同的形态就是多态
|
/** 多态 */
class Teacher{ // 父类 public void teach(){ } } // 继承父类的java老师 class JavaTeacher extends Teacher{ public void teach(){ // 覆写父类的方法 System.out.println("老师在讲java"); } } // 继承父类的pho老师 class phpTeacher extends Teacher{ public void teach(){ System.out.println("老师在讲php"); } } //领导类 class Leader{ //教学检查方法 public void checkTeach(Teacher t){ // 此处用父类的类型 System.out.println("考核开始"); t.teach(); // 寻找t对应的子类执行方法 System.out.println("领导评分"); } }
public class testDemo{ public static void main(String[] args){ Leader Leader = new Leader(); JavaTeacher jt = new JavaTeacher(); Leader.checkTeach(jt); // 传递子类类型 System.out.println("------------------------------"); phpTeacher pt = new phpTeacher(); Leader.checkTeach(pt); } } |
内存结构图
多态与继承多态完全一致
本文详细解析了多态的概念,特别是在面向对象编程中如何通过继承实现多态。通过具体的代码示例,展示了不同子类对象转化为父类对象后,调用方法表现出的不同形态,即多态现象。
555

被折叠的 条评论
为什么被折叠?



