抽象類 介面和內部類

2021-08-10 10:12:23 字數 593 閱讀 2316

1.1 使用抽象類

1.1.1. 抽象方法和抽象類

由abstract修飾的方法為抽象方法,抽象方法即只有方法的定義,沒有方法體實現,用乙個分號結尾。即方法五要素中,抽象方法缺少了乙個要素(即:方法體)。也可以將抽象方法理解為不完整的方法。

若將抽象方法包含在類中,則該類也應該為抽象的,可以理解為,該類也不完整。抽象類由abstract關鍵字宣告。

抽象類是不能例項化物件的,而乙個類不能例項化是沒有意義的,所以,需要定義類來繼承抽象類,而如果乙個類繼承了抽象類,則其必須重寫其抽象方法(變不完整為完整),除非該類也宣告為抽象類。

abstract class shape

public abstract double area();

}通過上面的**可以看到,area()方法沒有方法體(連大括號也不存在),由abstract修飾,此為抽象方法。而shape方法也由abstract修飾,即為抽象類。

1.1.2. 抽象類不可以例項化

需要注意一點:abstract和final關鍵字不可以同時用於修飾乙個類,因為final關鍵字使得類不可繼承,而abstract修飾的類如果不可以繼承將沒有任何意義。

兩者放在一起,會起衝突。

內部類,抽象類和介面

abstract普通類繼承抽象類要把抽象類中的所有抽象方法都覆蓋,抽象類繼承抽象類不用。抽象類不能被建立物件。普通類不能有抽象方法,抽象類可以有普通方法。建立了抽象父類的物件new後面是子類物件是可以實現的。implements用來繼承介面,inte ce介面中不存在具體的方法,介面中只存在抽象方法...

抽象類,介面和內部類

類中有抽象函式的類就被稱為抽象類。模糊不清的類 不具體的類 abstract class animal注意點 抽象類能否建立物件?不能 物件本身是乙個具體的東西 而抽象類中含有不具體的內容 抽象類必須作為父類存在嗎?必須 抽象類就等著被繼承呢!抽象類和一般類有什麼區別?就是一般類的特殊情況 唯一的區...

抽象類 介面和內部類

抽象類的所有方法,繼承了它的子類,都必須要實現它的抽象方法 除非它的子類也是抽象類 抽象類不能被例項化,只能靠子類去實現 抽象類中可以有普通方法 抽象方法必須在抽象類中 普通類 只有具體實現 抽象類 既可以有具體實現也可以有約束 抽象方法 介面 只有約束 抽象方法 自己無法寫方法 介面裡面的方法預設...