1. 程式人生 > >java中的重寫總結

java中的重寫總結

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;
 2
3 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中的重寫總結