1. 多态经典
package com.study; class Base { int count = 20; public void show(){ System.out.println(this.count); } } class Sub extends Base { int count = 10; public void show(){ System.out.println(this.count); } } public class Test { public static void main(String[] args) { Sub sub = new Sub(); System.out.println(sub.count); sub.show();// 10 Base base = sub; // 多态 System.out.println(base==sub); System.out.println(base.count);// 20 多态,属性,看左边 base.show();// 10 多态, 方法:编译看左边,运行看右边 } }
package com.study; public class Test { public static void main(String[] args) { Base base = new Sub(); base.test(1,2,3); // bbb 多态,编译看左边运行看右边 Sub sub = (Sub)base; sub.test(1,2,3); // ccc } } class Base{ public void test(int a,int ... arr ){ System.out.println("aaa"); } } class Sub extends Base{ public void test(int a,int[] arr ){ System.out.println("bbb"); } public void test(int a,int b,int c ){ System.out.println("ccc"); } }
原文:https://www.cnblogs.com/lvlin241/p/12513821.html