①方法只有宣告沒有實現時,該方法就是抽象方法,需要被abstract關鍵字修飾,抽象方法必須定義在抽象類中,該類也必須被abstract關鍵字修飾。
②抽象類不可以被例項化,因為呼叫抽象方法沒意義,沒有方法體。
③抽象類必須有其子類覆蓋了所有的抽象方法後,該子類才可以例項化,否則,這個子類還是抽象類。
既然我們前面說到抽象類不能被例項化。那麼抽象類有建構函式麼?答案是有的,這又是為什麼呢?因為抽象類是必須被繼承的,
而抽象類的建構函式就是用來給子類物件進行初始化。
還有就是抽象類可以不定義抽象方法嗎?可以的,但是這種抽象類是很少見的,目的就是不讓該類建立物件,
根據抽象類的這些特點,那麼我們來說說抽象abstract關鍵字不可以和哪些關鍵字共存呢?
我們已經知道了,抽象類是必須被其他類繼承的,類中的抽象方法也是必須被子類重寫。
①那麼abstract關鍵字和private關鍵字是不能共存的,因為抽象方法是要被子類中的方法覆蓋重寫,如果用private關鍵字修飾,而私有化後方法是不能被訪問到的。
②還有就是static關鍵字也不能和abstract關鍵字共存,因為用static關鍵字修飾後的方法,就是靜態方法,
不用建立物件,可以直接用類名呼叫方法,而呼叫抽象方法就毫無意義了。
③abstract關鍵字和c
onst、readonly關鍵字也不能在一起使用,因為被const和readonly關鍵字修飾的方法不能被覆蓋,而抽象方法就是要被其子類中的方法覆蓋。
前面我們講了那麼多,那麼抽象類和我們平時見的那些一般類有什麼異同點呢?
相同點:抽象類和一般類都是用來描述事物的,都在內部定義了成員。
不同點:①一般類有足夠的資訊描述事物,而抽象類描述事物的資訊就有可能不足,
②一般類中不能定義抽象方法,只能定義非抽象方法,而抽象類中可以定義抽象方法,同時也可以定義非抽象方法。
③一般類可以被例項化,抽象類不可以被例項化。
抽象類一定是個父類嗎?
是的,因為抽象類需要子類覆蓋其抽象方法後才可以對其子類進行初始化。
①方法只有宣告沒有實現時,該方法就是抽象方法,需要被abstract關鍵字修飾,抽象方法必須定義在抽象類中,該類也必須被abstract關鍵字修飾。
②抽象類不可以被例項化,因為呼叫抽象方法沒意義,沒有方法體。
③抽象類必須有其子類覆蓋了所有的抽象方法後,該子類才可以例項化,否則,這個子類還是抽象類。
既然我們前面說到抽象類不能被例項化。那麼抽象類有建構函式麼?答案是有的,這又是為什麼呢?因為抽象類是必須被繼承的,
而抽象類的建構函式就是用來給子類物件進行初始化。
還有就是抽象類可以不定義抽象方法嗎?可以的,但是這種抽象類是很少見的,目的就是不讓該類建立物件,
根據抽象類的這些特點,那麼我們來說說抽象abstract關鍵字不可以和哪些關鍵字共存呢?
我們已經知道了,抽象類是必須被其他類繼承的,類中的抽象方法也是必須被子類重寫。
①那麼abstract關鍵字和private關鍵字是不能共存的,因為抽象方法是要被子類中的方法覆蓋重寫,如果用private關鍵字修飾,而私有化後方法是不能被訪問到的。
②還有就是static關鍵字也不能和abstract關鍵字共存,因為用static關鍵字修飾後的方法,就是靜態方法,
不用建立物件,可以直接用類名呼叫方法,而呼叫抽象方法就毫無意義了。
③abstract關鍵字和c
onst、readonly關鍵字也不能在一起使用,因為被const和readonly關鍵字修飾的方法不能被覆蓋,而抽象方法就是要被其子類中的方法覆蓋。
前面我們講了那麼多,那麼抽象類和我們平時見的那些一般類有什麼異同點呢?
相同點:抽象類和一般類都是用來描述事物的,都在內部定義了成員。
不同點:①一般類有足夠的資訊描述事物,而抽象類描述事物的資訊就有可能不足,
②一般類中不能定義抽象方法,只能定義非抽象方法,而抽象類中可以定義抽象方法,同時也可以定義非抽象方法。
③一般類可以被例項化,抽象類不可以被例項化。
抽象類一定是個父類嗎?
是的,因為抽象類需要子類覆蓋其抽象方法後才可以對其子類進行初始化。
抽象類筆記Mars
1.抽象類 表達的是一種概念。如 印表機比噴墨印表機更抽象。子類繼承父類的抽象類的抽象函式時 1.把自己變成抽象類 2.複寫 overrider 父類抽象類的函式。複寫 具有父子關係兩個類當中,具有兩個函式函式的定義完全相同,這兩個函式的關係被稱為複寫。2.演示抽象類的作用之一 如果乙個類,它的某乙...
java筆記 抽象類
抽象類的概述 從很多物件中抽取出來的方法宣告,沒有方法體的方法被稱為抽象方法。有抽象方法的類被稱為抽象類。抽象類的特點 a 抽象方法和抽象類用關鍵字abstract表示。b 有抽象方法的類一定是抽象類或介面,抽象類中不一定有抽象方法。c 抽象類不能被例項化。d 如果乙個類繼承抽象類,這個類要麼本身也...
抽象方法與抽象類 筆記
抽象方法 只有方法名 參數列和返回值,沒有方法體。既然抽象方法沒有方法體,那麼也就不能被執行。如果某個類含有抽象方法,那麼這個類必須定義為抽象類,即在類定義前用關鍵字abstract修飾。但需要注意,乙個抽象類可以沒有抽象方法。抽象類沒有具體的物件。通常定義抽象類的物件引用指向它子類的物件。注意 抽...