在Java語言中,實作類別的繼承使用extends關鍵字
格式如下: (推薦學習:java課程)
[public] class SubClass extends SuperClass{ //类体的定义 }
2、被繼承的類別稱為父類別或超類別或基底類,而繼承得到的類別稱為子類別或衍生類別。
3、子類別繼承父類別的狀態(屬性)和行為(方法),同時也可以有自己的特徵。
二、關於繼承的注意事項
1、子類別繼承父類別中非private的成員變數和成員方法,同時,注意建構方法不能被子類繼承。
2、定義類別時若預設extends關鍵字,則所定義的類別為java.lang.Object類別的直接子類別。
在Java語言中,一切類別都是Object類別的直接或間接子類別。
3、Java只支援單重繼承,也就是一個類別至多只有一個直接父類別。在Java中透過介面來實現多重繼承。
4、父類別中定義的private成員變數和方法不能被子類別繼承,因此在子類別中不能直接使用。我們可以在父類別中定義公共的存取方法和修改方法,子類別可以透過這些方法來實現存取和修改。
三、舉例說明
Person類別
package com.baidu.czy; public class Person { //属性 private String name; private int age; //方法 public String getName() { return name; } public int getAge() { return age; } public Person() { } public Person(String name, int age) { this.name = name; this.age = age; } public void sayHello(){ System.out.println("My name is " + name); } }
Employee類別
#package com.baidu.czy; public class Employee extends Person { //属性 private double salary; private String name; //方法 public Employee(){ } public Employee(String name, int age,double salary) { //调用父类的构造方法 super(name, age); this.salary = salary; } public double computeSalary(int hours,double rate){ double salary = hours * rate; return this.salary + salary; } @Override public void sayHello(){ //调用父类中被覆盖的方法 super.sayHello(); System.out.println("Hello,I am " + getName()); System.out.println("I am " + getAge()); System.out.println("My salary is " + salary); } }
EmployeeTest類別
package com.baidu.czy.test; import com.baidu.czy.Employee; public class EmployeeTest { public static void main(String[] args) { Employee emp = new Employee("刘明",30,5000); System.out.println("姓名= " + emp.getName()); System.out.println("年龄= " + emp.getAge()); //调用从父类继承的方法 emp.sayHello(); //调用子类中定义的方法 System.out.println(emp.computeSalary(10,50.0)); } }
#執行結果
以上是java如何繼承類別的詳細內容。更多資訊請關注PHP中文網其他相關文章!