Java學習 第七節之 面向對象的特徵
Java面向對象的特徵有:封裝、繼承、多態
一、封裝:即使得面向用戶更簡單,面向屬性更安全。(不讓人隨意訪問)符
封裝的的修飾符:public和private
注意:①如果沒有特殊情況,屬性一定私有,方法該公開的公開;
②如果不指明誰調用誰,則默認爲this;
③區分實例變量和局部變量時一定要寫this。
1、封裝(屬性儘可能的私有化,方法可根據需要設置)
程序舉例:
class test1 {
private String name;
private int age;
//封裝屬性
public void setName(String name){
this.name=name;
}
public String getName(String name){
return name;
}
public void setAge(int age){
this.age=age;
}
//boolean封裝
private boolean state;
public void setState(){
this.state=state;
}
public boolean isState(){
return state;
}
//數組封裝
private String[] types;
public void setTypes(String[] types){
this.types=types;
}
public String[] getTypes(){
return types;
}
public String getTypes(int index){
returntypes[index];
}
public void setTypes(String types,int index){
this.types[index]=types;
}
publictest1(String name,String[] types,int age ){
this.name=name;
this.types=types;
this.age=age;
this.state=state;
}
//主方法
public static void main(String[] args)
{
System.out.println("HelloWorld!");
}
即是代碼的高效率複用;也可以說是產品的,擴展和升級;繼承等於擁有,但對於私有不可調用和訪問。 |
2、繼承
注意:1、繼承中的關係是父類和子類,其中父類又叫超類和基類,子類叫派生類。
2、繼承關鍵詞:extends
3、父類的繼承方法不能被子類通過繼承使用,只能有super方法調用。
4、super表示超類對象,super();表示選擇父類某一對象調用。
5、父類與子類都有某一方法,調用時首先考慮子類的,其次調用父類的方法
時,需要在方法前加super和.,即super .方法名( );
6、類前加final,表示該類不可被繼承;方法前加final,表示該方法子類不可重寫;變量前加final,表示定義常量。
7、object被稱爲祖先類,即所以類默認繼承object類。Class是則是所有類的管理員。
程序舉例:
public classtest4{
public void method(){
System.out.println("哈哈哈哈哈");
}
public static void main(String[]args){
System.out.println("test4");
}
}
//test繼承test1的程序
class test1 extends test
{
public void method(){
System.out.println("test7");
}
public static void main(String[] args)
{
test4 t=new test7();
t.method();
super.method();
System.out.println("HelloWorld!");
}
}
3、多態:是指編譯時類型發生變化,而運行時類型不變。簡單說就是子類演變成父類。
注意:1、方法的重載:即在同一個類中,一個方法名可以有兩個或多個定義,但必須有不同參數個數或者不同參數類型。
2、父類和子類之間的多態性,對父類的函數進行重新定義。如果子類中定義某方法與其父類與相同的名稱和參數,我們就說該方法被重寫。
程序舉例如下: