Java-方法重写
方法重寫只針對非靜態方法,且不能是 private 類型的
如果是靜態方法
// 重寫都是方法的重寫,和屬性無關 public class B {public static void test() {System.out.println("B=>test()");} } // 繼承 public class A extends B{public static void test() {System.out.println("A=>test()");} } public class Application {public static void main(String[] args) {A a = new A();a.test(); // A// 父類的引用指向了子類B b = new A();b.test(); // B} }
靜態方法:方法的調用只和左邊定義的數據類型有關
非靜態方法
// 重寫都是方法的重寫,和屬性無關 public class B {public void test() {System.out.println("B=>test()");} } // 繼承 public class A extends B{// Override 重寫@Override // 注解:有功能的注釋public void test() { // super.test();System.out.println("A=>test()");} } public class Application {// 靜態方法和非靜態的方法的區別很大!// 靜態方法: 方法的調用只和左邊定義的數據類型有關// 非靜態: 重寫public static void main(String[] args) {A a = new A();a.test(); // A// 父類的引用指向了子類B b = new A(); // 子類重寫了父類的方法b.test(); // A} } 重寫:需要有繼承關系,子類重寫父類的方法!1. 方法名必須相同2. 參數列表必須相同3. 修飾符:范圍可以擴大但是不能縮小: public>Protected>Default>Private4. 拋出的異常:范圍,可以被縮小,但不能擴大: ClassNotFoundException--> Exception(大)重寫: 子類的方法和父類必須一致;方法體不同為什么需要重寫:父類的功能,子類不一定需要,或者不一定滿足Alt + Insert Overtidehttps://www.bilibili.com/video/BV12J41137hu?p=70
總結
- 上一篇: Linux和Windows互传文件可视化
- 下一篇: Java-命令行传递参数