Java面向對象一(封裝 繼承 多態 類 對象 方法)
1.封裝:主要實現了隱藏細節,對用戶提供訪問接口,無需關心方法的具體實現。
如下,人這個類封裝了很多人的屬性和行為;
2.繼承:很好的實現了代碼的復用,提高了編程效率。
人{
年齡(屬性一)
身高(屬性二)
性別(屬性三)
做事(行為之一)
走路(行為之二)
說話(行為之三)
}
教師{
年齡(屬性一)
身高(屬性二)
性別(屬性三)
做事(行為之一)
走路(行為之二)
說話(行為之三)
教書(行為之四)
}
教師繼承了人的屬性和行為,額外多出的是教書的行為。所以可以寫成 教師 繼承了 人這個類 的屬性行為額外多出 教書的行為。
教師extends 人{
教書(行為之三)
}
3.多態:程序的可擴展性及可維護性增強。
多態性就是指父類的某個方法被其子類重寫時,可以各自產生自己的功能行為。簡單來說,多態是具有表現多種形態的能力的特征。
當一個類有很多子類時,並且這些子類都重寫了父類中的某個方法。那麽當我們把子類創建的對象的引用放到一個父類的對象中時,就得到了該對象的一個上轉型對象,那麽這個上轉的對象在調用這個方法時就可能具有多種形態.
對象&類
1.對象是類的一種實例化, 對象用"屬性"和"方法"來對應描述事物所具有的"靜態屬性"和"動態屬性"。
2.類是用於描述同一類形的對象的一個抽象的概念, 類中定義了這一類對象應該具有的"靜態屬性"和"動態屬性"
3.合適的方法出現在合適的類裏
我理解的類,對象,方法:
1.類(具有相同屬性和方法的對象的集合):首先它是抽象化的,沒有具體指某個,而是指某一類。
比如說:人,汽車,動物,植物。
沒有指具體哪個人(不管是大人,小孩,不管男女,只要是人,就屬於人這個類)
也沒有指具體哪輛汽車(不管什麽牌子的汽車,不管幾個輪子,只要它是汽車,就屬於汽車這個類)。
public class Car{ }
2.對象(有屬性和方法):類的實例化 -----------萬物皆是對象--------------
比如說:具體某個人(我),具體某輛車(我的這輛車),具體某個動物(這只貓)。
3.方法(函數,成員函數): 就是完成特定功能的代碼塊
比如說:人吃飯,剎車等都是方法。
3.1普通方法
格式:
修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) { 方法體語句; return 返回值; //void類型 不用寫return }
3.2構造方法
特點:
1.方法名稱和類名相同
2.不用定義返回值類型
3.不可以寫return語句
作用:
給對象初始化
構造方法的細節:
當一個類中沒有定義構造函數時,系統會默認添加一個無參的構造方法。
當在類中自定義構造方法之後,默認的無參構造方法消失(如果需要無參構造方法需手動添加)。
public Car{ private String color; 權限修飾符private public void setColor(String color) { this.color = color; } //這是一個set方法 public String getColor() { .... } //這是一個get方法 } // 這就是一個類,具有共有屬性,方法; public static void main(String[] args) { Car a=new Car(); //實例化Car類(傳說中的New一下) a就是實例化之後的類,也就是對象 a.setColor="紅色";
String s = a.getColor;
system.out.println(s); //輸出車的顏色
}
Java面向對象一(封裝 繼承 多態 類 對象 方法)