歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java 中子類如何實現對父類私有域的繼承

父類中的公有方法和域(屬性),在類繼承中將會被子類繼承,但是私有的將不能被繼承。

那麼在繼承中子類如何才能繼承到父類的私有域呢?

答案是:在子類的構造方法中通過super()方法調用父類的構造方法。

也就是,在構造子類的同時,為子類構造出跟父類相同的域。如此就在子類的對象中,也擁有了父類聲明的域了。

並且我們也應該這樣做。 

演示代碼如下:

Person.java

view plaincopy to clipboardprint?
  1. public class Person{  
  2.     private String name;  
  3.       
  4.     public Person(String name){  
  5.         this.name = name;  
  6.     }  
  7.       
  8.     public void setName(String name){  
  9.         this.name = name;  
  10.     }  
  11.       
  12.     public String getName(){  
  13.         return name;  
  14.     }  
  15. }  

Student.java

  1. public class Student extends Person{  
  2.       
  3.     public Student(String name){  
  4.         super(name);  
  5.     }  
  6. }  

TestStudent.java

  1. public class TestStudent{  
  2.     public static void main(String[] args){  
  3.       
  4.         Student mStudent = new Student("abc");  
  5.         String mName = mStudent.getName();  
  6.         System.out.println("Name is : " + mName);  
  7.           
  8.         mStudent.setName("efg");  
  9.         mName = mStudent.getName();  
  10.         System.out.println("Name is : " + mName);  
  11.           
  12.     }  
  13. }  

打印結果為:

Name is : abc

Name is efg

Copyright © Linux教程網 All Rights Reserved