Java-方法重写
方法重寫只針對(duì)非靜態(tài)方法,且不能是 private 類型的
如果是靜態(tài)方法
// 重寫都是方法的重寫,和屬性無關(guān) 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} }
靜態(tài)方法:方法的調(diào)用只和左邊定義的數(shù)據(jù)類型有關(guān)
非靜態(tài)方法
// 重寫都是方法的重寫,和屬性無關(guān) 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 {// 靜態(tài)方法和非靜態(tài)的方法的區(qū)別很大!// 靜態(tài)方法: 方法的調(diào)用只和左邊定義的數(shù)據(jù)類型有關(guān)// 非靜態(tài): 重寫public static void main(String[] args) {A a = new A();a.test(); // A// 父類的引用指向了子類B b = new A(); // 子類重寫了父類的方法b.test(); // A} } 重寫:需要有繼承關(guān)系,子類重寫父類的方法!1. 方法名必須相同2. 參數(shù)列表必須相同3. 修飾符:范圍可以擴(kuò)大但是不能縮小: public>Protected>Default>Private4. 拋出的異常:范圍,可以被縮小,但不能擴(kuò)大: ClassNotFoundException--> Exception(大)重寫: 子類的方法和父類必須一致;方法體不同為什么需要重寫:父類的功能,子類不一定需要,或者不一定滿足Alt + Insert Overtidehttps://www.bilibili.com/video/BV12J41137hu?p=70
總結(jié)
- 上一篇: Linux和Windows互传文件可视化
- 下一篇: Android Studio 创建第一个