歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java 中子類如何實現對父類私有域的繼承

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

日期:2017/3/1 11:10:34   编辑:Linux編程
父類中的公有方法和域(屬性),在類繼承中將會被子類繼承,但是私有的將不能被繼承。

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

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

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

並且我們也應該這樣做。

演示代碼如下:

Person.java

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

Student.java

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

TestStudent.java

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

打印結果為:

Name is : abc

Name is efg

Copyright © Linux教程網 All Rights Reserved