Java 繼承(extends)、抽象類(abstract)的特點用法原理(7)


Java  中的繼承

繼承:

java中的抽象類用法原理:

 1 /*
 2 當多個類中出現相同功能,但是功能主體不同,
 3 這是可以進行向上抽取。這時,只抽取功能定義,而不抽取功能主體。
 4 
 5 抽象:看不懂。
 6 
 7 抽象類的特點:
 8     1,抽象方法一定在抽象類中。(因為抽象方法沒有具體實現的方法,所以不能用抽象類創建對象,如果在抽象類,那么類的對象調用該方法不具備意義,所以抽象方法在抽象類中,也即滿足第三條)。類中有抽象方法,則稱這個類為抽象類
 9     2,抽象方法和抽象類都必須被abstract關鍵字修飾。
10     3,抽象類不可以用new創建對象。因為調用抽象方法沒意義。
11     4,抽象類中的抽象方法要被使用,必須由子類復寫起所有的抽象方法后,建立子類對象調用。
12     如果子類只覆蓋了部分抽象方法,那么該子類還是一個抽象類。

14 
15     抽象類和一般類沒有太大的不同。
16     該如何描述事物,就如何描述事物,只不過,該事物出現了一些看不懂的東西。
17     這些不確定的部分,也是該事物的功能,需要明確出現。但是無法定義主體。通過抽象方法來表示。
18     抽象類比一般類多個了抽象函數。就是在類中可以定義抽象方法。
19     抽象類不可以實例化。
20 
22     特殊:抽象類中可以不定義抽象方法,這樣做僅僅是不讓該類建立對象。
23 
24   包含抽象方法的類稱為抽象類,但並不意味着抽象類中只能有抽象方法,它和普通類一樣,同樣可以擁有成員變量和普通的成員方法。
25 練習:
26 
27 abstract 關鍵字,和哪些關鍵字不能共存。(final private static三種不能同abstract一塊用)
28 final:被final修飾的類不能有子類(不能被繼承http://www.cnblogs.com/itcqx/p/5541659.html)。而被abstract修飾的類一定是一個父類(需要被繼承才能使用)。所      以不能共存
29 private: 抽象類中的私有的抽象方法,不被子類所知,就無法被復寫。
30         而抽象方法出現的就是需要被復寫。所以不能共存
31 static:如果static可以修飾抽象方法,那么連對象都省了,直接類名調用就可以了。
32         可是抽象方法運行沒意義。所以不能類名.抽象方法,所以直接不能跟static共存
33 
34 
36   抽象類中是否有構造函數?
37     有,抽象類是一個父類,要給子類提供實例的初始化。所以存在構造函數
38 
39 */
40 
41 abstract class Student
42 {
43     abstract final void study();
44     //abstract void study1();
45     void sleep()
46     {
47         System.out.println("躺着");
48     }
49 }
50 /*
51 
52 class ChongCiStudent extends Student
53 {
54     void study()
55     {
56         System.out.println("chongci study");
57     }
58 }
59 
60 class BaseStudent extends Student
61 {
62     void study()
63     {
64         System.out.println("base study");
65     }
66 }
67 
68 class AdvStudent extends Student
69 {
70     void study()
71     {
72         System.out.println("adv study");
73     }
74 }
75 */
76 class AbstractDemo 
77 {
78     public static void main(String[] args) 
79     {
80         //new Student();
81         //new BaseStudent().study();
82     }
83 }

 


免責聲明!

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



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