java Java中的抽象類為什么不能實例化?
Java中的抽象類為什么不能實例化?首先抽象類不能實例化是一個java的語法規(guī)范。 抽象類中是可以包含抽線方法,不是必須。如果一個抽象類沒有一個抽象方法,那么他和一個普通java類就沒有任何區(qū)別了,
Java中的抽象類為什么不能實例化?
首先抽象類不能實例化是一個java的語法規(guī)范。 抽象類中是可以包含抽線方法,不是必須。如果一個抽象類沒有一個抽象方法,那么他和一個普通java類就沒有任何區(qū)別了,也就是說,在這種情況下又沒有abstract修飾都是一樣的。定義了一個包含抽象方法的抽象類,其子類在繼承自該抽象類的時候,子類就必須實現(xiàn)父類的所有抽象方法。之所以在java變成中存在這樣一個語法規(guī)范,就是為了定義這種類型結(jié)構(gòu)來解決生活中這樣的一些實際問題。 比如舉一個簡單例子: 父親(抽象類)是一個殘疾人,他一生都想著要去見義勇(父類的抽象方法)為幫助他人,但是由于自生殘疾行動不便,然后他就要求其所有的兒子(繼承自抽象類的子類)能實現(xiàn)他的這個愿望(繼承父類的抽象方法)。然而每一個兒子在實現(xiàn)父親想見義勇為這個愿望的時候,每個兒子的做法是不一樣的。大兒子喜歡這種方式的見義勇為(子類一有其自己的實現(xiàn)方法),二兒子喜歡其他的見義勇為的方式(子類二有其自己的實現(xiàn)方法)....因此java的抽象類就是用在這種場景中,解決這種問題的。