繼承的作用:class A extends B
1.提高代碼複用性;
2.讓類與類之間產生關係,體現多態的特性。
---------------------------------------------------------------------------------------------------------------
子類A除了父類B的構造方法外,所有的成員變量與成員方法會繼承父類B;
private修飾的變量和方法雖被繼承,但無法被訪問,若要訪問父類private成員,需父類提供訪問方法
注意:final修飾的類,方法,變量均不能被繼承
因爲final修飾的類和方法不可被覆蓋,修飾的變量爲常量不可被修改
---------------------------------------------------------------------------------------------------------------
對於抽象類的理解:
1.abstract class C{ };
2.抽象方法;
3.不可用new創建對象,無意義;
4.由子類複寫所有抽象方法後建立所有子類對象以調用,若只覆蓋部分抽象方法,則該子類也爲抽象類。
---------------------------------------------------------------------------------------------------------------
對於覆蓋的理解:
1.靜態方法只能覆蓋靜態方法;
2.子類權限必須高於父類權限。
---------------------------------------------------------------------------------------------------------------
接口:interface A{ }
interface B extendsA{ }
class C implements A
接口中的成員:
變量均默認爲:public static final
方法:public abstract
接口特點:
是對外暴露的規則;
是程序的功能擴展;
是用來多實現;
類與接口是實現關係,類是單繼承;
接口之間有繼承關係;
降低了耦合性。
---------------------------------------------------------------------------------------------------------------
fianl:
可修飾類,方法,變量
不可被繼承,覆蓋
局部內部類只能訪問被final修飾的局部變量