Java面向對象之繼承extends 入門實例


一、基礎概念

  (一)繼承的好處:

     1.繼承:提高了代碼的復用性。

     2.讓類與類之間產生了關系,給多態這個特征提供了前提。

  (二)繼承的種類:

     1.單繼承:一個類只能有一個父類。

     2.多繼承:一個類可以有多個父類。

        3.java支持單繼承,不直接支持多繼承。(因為多繼承調用的不穩定性)

  (三)繼承使用時候:

     1.當事物之間存在着所屬關系時。可以通過繼承來體現這個關系。

      如:XXX是YYY的一種。XXX extends YYY

     2.父類中私有的部分,子類對象是無法直接訪問的。子類對象通過setXXX和getXXX進行訪問。

二、實例代碼

 1 //將student類和worker類共享的代碼抽取到Person類中,形成一個父類Person。
 2 class Person
 3 {
 4     //父類中私有的部分,子類對象通過setXXX和getXXX進行訪問。
 5     private String name;
 6     int age;
 7     
 8     public void setName(String name)
 9     {
10         this.name = name;
11     }
12     public String getName()
13     {
14         return this.name;
15     }
16     void sleep()
17     {
18         System.out.println("Name: "+name+",age: "+age+"   sleep ......");
19     }
20 }
21 
22 //student類繼承了Person類的屬性和方法(通過關鍵字extends繼承)
23 class Student extends Person
24 {
25     //可以擁有自己的方法study
26     void study()
27     {
28         System.out.println("name: "+this.getName()+",age: "+age+"   study ......");
29     }
30 }
31 
32 //worker類繼承了Person類的屬性和方法
33 class Worker extends Person
34 {
35     //可以擁有自己的方法work
36     void work()
37     {
38         System.out.println("name: "+this.getName()+",age: "+age+"   work ......");
39     }
40 }
41 class ExtendsDemo
42 {
43     public static void main(String[] args)
44     {
45         //創建一個實例p,賦給name和age,並輸出sleep方法和study方法。
46         Student p = new Student();
47         p.setName("xiaoming");
48         p.age = 18;
49         p.sleep();
50         p.study();
51         //創建一個實例s,賦給name和age,並輸出sleep方法和work方法。
52         Worker s = new Worker();
53         s.setName("laoli");
54         s.age = 38;
55         s.sleep();
56         s.work();
57     }
58 }

三、代碼運行

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM