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