java中的重寫總結
阿新 • • 發佈:2018-05-13
perm subject RM color iss 值類型 home args []
這個理解了就挺容易的~~
我就直接貼個程序啦 ,程序裏有說明!!
父類:
1 package ParentAndSon; 2 3 public class Parent extends Object {//4:以final修飾的類不能別繼承,3:Object是所有類的直接父類或間接父類 4 5 String sex="女"; 6 String name; 7 8 9 public Parent() { 10 11 } 12 13 public Parent(String sex, String name) {14 this.sex = sex; 15 this.name = name; 16 } 17 18 protected static Object say(String name) { 19 System.out.println("父親說話"); 20 return 0; 21 } 22 public void walk() { 23 System.out.println("父親走路"); 24 } 25 }
子類:
1 package ParentAndSon; 23 import javax.management.remote.SubjectDelegationPermission; 4 5 //1:繼承是根據已有類創建類的機制 6 public class Son extends Parent {//:2:java只支持單繼承 7 8 String age; 9 10 public Son() { 11 super(); 12 } 13 14 15 public Son(String age) { 16 super(); 17 this.age = age;18 } 19 20 //@Override 21 /*1:重寫要求 方法名和方法參數列表(參數個數和參數對應的數據類型)必須相同 22 *2:重寫的返回值a:如果是空或者基本數據類型,則子類返回值和父類一模一樣 23 * b:如果是引用數據類型,則子類返回值類型和父類一樣或者是他的子類 24 *3:訪問權限,子類的訪問權限和父類一樣,或者大於父類的訪問權限 25 *4:父類中被static final修飾的方法能被子類繼承,但不能被重寫,@Override可以判斷是重寫的方法還是一個新的方法 26 *5:父類中不是靜態方法,子類中不能加static 27 * 28 */ 29 public static Integer say(String name) { 30 System.out.println("兒子說話"); 31 return 0; 32 } 33 //@Override 因為doHomework()方法不是重寫的方法 所以出錯 34 public void doHomework() { 35 System.out.println(sex); 36 System.out.println("兒子做作業"); 37 } 38 public static void main(String[] args) { 39 Son son = new Son(); 40 System.out.println(son.sex); 41 } 42 }
java中的重寫總結