首页 > 代码库 > 父类引用指向子类对象
父类引用指向子类对象
1 public class Test { 2 /** 3 * 对于多态,可以总结它为: 4 5 一、使用父类类型的引用指向子类的对象; 6 7 二、该引用只能调用父类中定义的方法和变量; 8 9 三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)10 11 四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。12 13 多态的3个必要条件:14 15 1.继承 2.重写 3.父类引用指向子类对象。16 * @param args17 */18 public static void main(String[] args) {19 A b = new B();20 b.printN();//421 b.printM();//422 System.out.println(b.n);//023 System.out.println(b.m);//024 25 B ba = (B)b;26 ba.printN();//427 ba.printM();//428 System.out.println(ba.n);//429 System.out.println(ba.m);//430 31 B bb = new B();32 bb.printN();//433 bb.printM();//434 System.out.println(bb.n);//435 System.out.println(bb.m);//436 }37 38 }39 40 class A{41 int n = 0;42 static int m = 0;43 public void printN(){44 System.out.println(n);45 }46 47 public void printM(){48 System.out.println(m);49 }50 }51 class B extends A{52 int n = 4;53 static int m = 4;54 public void printN(){55 System.out.println(n);56 }57 public void printM(){58 System.out.println(m);59 }60 }
父类引用指向子类对象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。