面向对象(三)
重载和重写
1. 重载: 方法名不变, 参数一定要变(改变参数的类型, 个数等), 一般是在同一个类中重载.
1 public class Test3 { 2 public static void main(String[] args) { 3 4 Test3.Plus(1, 2); 5 Test3.Plus("a", "b"); 6 Test3.Plus(1, 2, "a"); 7 8 9 } 10 11 public static void Plus(int num1, int num2) { 12 System.out.println("带2个 int 参数的 Plus 方法"); 13 } 14 15 public static void Plus(String str1, String str2) { 16 System.out.println("带2个 String 参数的 Plus 方法"); 17 } 18 19 20 public static void Plus(int num1, int num2, String str) { 21 System.out.println("带3个参数的 Plus 方法"); 22 } 23 24 25 }
2. 重写: 外壳不变, 核心变. 也就是方法名不变, 参数不变, 具体实现要改变.
一般是有子父类的继承, 在子类中重写与父类同名的方法.
1 public class Animal { 2 public void Move() { 3 System.out.println("Animal --> Move(移动)"); 4 } 5 6 } 7 8 public class Bird extends Animal { 9 @Override 10 public void Move() { 11 System.out.println("Bird --> fly(飞)"); 12 } 13 } 14 15 16 17 public class Test3 { 18 public static void main(String[] args) { 19 Bird bird = new Bird(); 20 bird.Move(); 21 22 23 } 24 }
3. 区别: