java中抽象類中一定要有抽象方法么?
重寫是發生在繼承當中,子類將從父類中繼承的某些方法重新構造的一個過程,這個方法的前提是必須與父類的這個方法的返回值類型,參數類型,參數個數,參數順序完全一樣,比如說父類中有個方法是eat而這個方法的輸出是"我想吃水果",子類想引用父類中的eat方法,并且想讓它變得很具體,那么輸出就可以改為“我想吃蘋果”等等,總結一下就是,子類想引用父類方法不想做出改變那么就直接super調用,但是想讓改方法在子類中變得更加具體,就必須重寫。
抽象abstract:字面意思就可以看出他是不具體的一個東西,所以可以理解為它是一種規則,如果你知道interface那么就能更好的理解了,因為接口就是抽象到極致的特殊抽象類。abstract不僅可以修飾類也可以修飾方法,修飾類的時候它就是抽象類,類中可以有抽象方法也可以不包含抽象方法,主要特點是它是不被允許自己調用自己的構造方法的,只能被子類繼承,子類去調用它里面的方法,而且如果抽象類中有抽象方法,那么子類必須具體實現這個方法才可以繼承,或者子類也是一個抽象類才可以繼承。當abstract修飾方法的時候就是抽象方法了,一個類中有抽象方法,那么這個類必定是抽象類,記住一點抽象類中不一定有抽象方法,但是有抽象方法的類一定是抽象類,而且抽象方法是沒有方法體的,就是沒有{}這個括號