三大特性
封裝內主要包括"方法","訪問許可權修飾符號","屬性"。
"方法即物件的行為"
方法的宣告:【訪問許可權修飾符號】 【修飾符】 返回值型別 方法名(形式引數列表)。
方法列子
public static void main(string args)
private:私有許可權,同類中訪問
default:同包許可權,只能在乙個包內訪問
protected:同包許可權和子類許可權
public:公共許可權,可以被任何類訪問
隱藏內部細節,使其不被外部影響,方便內部的修改
同時降低外部使用的複雜度
屬性用private隱藏,方法用public公開。
public class police
public void setname(string name)
public string getage()
public void setage(string age)
retrun ture;
單列模式
class police
private static police police=new police();
public static police getinstance()
}
子類繼承父類
,只能單繼承
,方法自動擁有,可實現**復用
繼承與構造器
原則:子類在創鍵物件是有義務先完成父類物件的構造。
純在繼承關係時,創鍵子類物件會先呼叫父類的無參構造器在呼叫子類的構造器,
若不存在父類預設無參構造器則會則會報錯,或通過suer關鍵字顯示的呼叫父類的其他構造器。
super呼叫父類構造器時只能在子類構造器的第一行。
this關鍵字==>當前例項
當前對像的屬性,當前物件的方法,當前物件的構造方法。
super關鍵字==>父類例項
父類物件的屬性,父類物件的方法,父類物件的構造器。「許可權允許」
方法覆蓋
在繼承關係中
同名
,同參,同返回值
不可縮小訪問許可權修飾符
protected關鍵字
方法,構造器,同包以及子類中可以訪問。
final
屬性:當創鍵時必須賦值,之後不可以在更改賦值,(「基本資料型別」,「引用資料型別=>不可以只想其他物件,內部屬性可變」)
方法:final方法不可以被子類覆寫。
類:final的類不可被繼承。
抽象
抽象類:不可被例項化,可以再定義抽象方法(方法用abstract修飾,不能有實現)
含有抽象方法的類,必須是抽象類多型
含義:對外是一種表現,對內有多種表現形式。
多型的具體表現
表現:方法過載,方法覆蓋,多型引數
執行期型別和編譯器型別
編譯期型別和執行期型別相同
a a= new a()
a.show();
宣告a的時候,使用到型別a表示物件型別,被稱為編譯期型別。
在編譯期,虛擬機器認為a的是型別是a,對於a所使用的屬性和方法和方法的有效性將到類a中去驗證。
構造方法a()中的a是執行期型別。
在執行期,將執行執行期型別中的方法
當有繼承關係是,可能發生編譯期型別和執行期型別不同的情況,即編譯期型別是父類型別,執行期型別是子類型別。
a類是b類的父類
a ab=new b();
ab.show();
物件ab的編譯期型別為父類a類。
執行期型別為子類b類。
如果乙個引用的編譯期型別和執行期型別不同,那麼一定是編譯型別與執行型別有父類子類關係,或者介面與實現的關係。
ab物件使用的方法,在編譯期到類a中校驗,而執行則執行b類的方法
如果乙個物件的編譯期型別是父類,執行期型別是子類,可以對該物件進行將值型別轉換,將編譯期型別轉換為與執行期型別相同的類,即 b b=(b)ab;
java三大特性
1 封裝 對於封裝而言,乙個物件它所封裝的是自己的屬性和方法,所以它是不需要依賴其他物件就可以完成自己的操作。2 繼承 3 多型 其實也就是兩種繫結狀態 動態繫結 也稱後期繫結 靜態繫結 也稱前期繫結 1 例項方法 例項方法與引用所實際引用的物件繫結.動態繫結 2 靜態方法 靜態方法與引用所實際宣告...
java三大特性 封裝
1 定義 2 好處 良好的封裝能夠減少耦合。類內部的結構可以自由修改。可以對成員變數進行更精確的控制。隱藏資訊,實現細節。3 關鍵字 封裝使用的關鍵字,封裝的級別 public protected 預設 private 4 例public class person public class pers...
JAVA三大特性 繼承
繼承,使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的資料或新的功能,也可以用父類的功能,但不能選擇性的繼承父類。繼承所描述的關係是 is a 實際上,繼承者是被繼承者的特殊化,除了擁有繼承者的特性外,還擁有自己特有的屬性。繼承定義了類如何互相關聯,共享特性。繼承注意事項 子類擁有...