多态分为编译时多态和运行时多态,
1.编译时多态:方法重载(overload),相同的方法名,传入不同类型的参数
private int addition(int a, int b) { return a + b; } private int addition(double a, int b) { return (int) (a + b); } private int addition(int a, int b, int c) { return a + b + c; }
2.运行时多态:子类继承父类,子类重写(override)父类方法
// 父类 public class Animal { public void run() { System.out.println("Animal running"); } public void eat() { System.out.println("Animal eating"); } } // 子类继承父类,只重写run方法 public class Cat extends Animal { @Override public void run() { System.out.println("Cat running"); } } // 子类继承父类,重写run和eat方法 public class Dog extends Animal { @Override public void run() { System.out.println("Dog running"); } @Override public void eat() { System.out.println("Dog eating"); } }
原文:https://www.cnblogs.com/tjhill/p/14640456.html