更新時間:2022-12-26 11:13:35 來源:動力節(jié)點 瀏覽1593次
面向?qū)ο笕筇匦裕?a href="/tutorial_java_se/115.html" target="_blank" title="Java封裝">封裝、繼承、多態(tài)
封裝:
將類的某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來實現(xiàn)對隱藏信息的操作和訪問
繼承:
子類擁有父類的所有屬性和方法(除了private修飾的屬性不能擁有),從而實現(xiàn)了實現(xiàn)代碼的復(fù)用
多態(tài):
使用父類引用接受,不同的子類的對象實例,父類引用調(diào)用相同的方法,根據(jù)子類不同的實例,產(chǎn)生不同的結(jié)果
在定義一個對象的特性的時候,有必要決定這些特性的可見性,即那些特性對外部是可見的,哪些特性
用于表示內(nèi)部狀態(tài)。
通常,應(yīng)禁止直接訪問一個對象中數(shù)據(jù)的實際表示,而應(yīng)通過操作接口來訪問,這稱為信息隱藏。
封裝的步驟
1.使用private修飾需要封裝的成員變量
2.提供一個公開的方法設(shè)置或者訪問私有的屬性
設(shè)置:通過set方法,命名格式:set屬性名();屬性名首字母要大寫
訪問:通過get方法,命名格式:get屬性名();屬性名首字母要大寫
//對象能在類的外部"直接"訪問
public class Student{
public String name;
public void println(){
System.out.println(this.name);
}
}
public class Test{
public static void main(String[] args){
Student s = new Student();
s.name = "tom";
}
}
在類中一般不會把數(shù)據(jù)直接暴露在外部的,而使用private(私有)關(guān)鍵字把數(shù)據(jù)隱藏起來
public class Student{
private String name;
}
public class Test{
public static void main(String[] args){
Student s = new Student();
//編譯報錯,在類的外部不能直接訪問類中的私有成員
s.name = "tom";
}
}
如果在類的外部需要訪問這些私有屬性,那么可以在類中提供對于的get和set方法,以便讓用戶在類的外部
可以間接的訪問到私有屬性
//set負(fù)責(zé)給屬性賦值
//get負(fù)責(zé)返回屬性的值
public class Student{
private String name;
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}
public class Test{
public static void main(String[] args){
Student s = new Student();
s.setName("tom");
System.out.println(s.getName());
}
}
繼承是類和類之間的一種關(guān)系。除此之外,類和類之間的關(guān)系還有依賴、組合、聚合等。
繼承關(guān)系的倆個類,一個為子類(派生類),一個為父類(基類)。子類繼承父類,使用關(guān)鍵字extends來表示。
Java多態(tài)是什么?如: Student繼承了Person類
Student s1 = new Student();
Person s2 = new Student();
Object s3 = new Student();
則s1只能調(diào)用Student中的方法
而s2除此之外還能調(diào)用Person中的方法