構成方法的特點?
在執行的時候,無參構造方法會自動生成,但是如果類中有了有參構造方法,則不會自動生成。推薦在寫類的時候將有參和無參構造方法都寫;在我們執行的時候,new對象時,對象名后面括號[ Dog dog = new Dog() ] 里面可以有的參數類型必須符合類中已聲明的有參構造方法
public Dog(){
System.out.println("Dog無參構造方法....");
this.name="二哈";
}
public Dog(String n,int h,int love){
System.out.println("有參構造方法....");
this.name=n;
this.health=h;
this.love=love;
}
測試
Dog dog = new Dog();
Dog dog2= new Dog("二哈",89,100);
方法重載
在同一個類里面方法名相同,參數列表(方法參數的個數或參數類型)不同,稱之為 方法重載 方法重載與方法返回值和方法修飾符沒有任何關系
封裝
封裝是面向對象三大特征之一(另外兩個是繼承和多態),它指的是將對象的狀態信息隱藏在對象內部,不允許外部程序直接訪問對象的信息,而是通過該類所提供的方法來實現對內部的操作和訪問。
步驟
1.將屬性私有化 設為private
2.編寫setter方法,針對用戶輸入的值進行判斷
3.編寫getter方法來獲取值
注:
面向對象三個特征:封裝、繼承、多態。
繼承:如果多個類的某個部分的功能相同,那么可以抽象出一個類出來,把他們的相同部分都放到父類里,讓他們都繼承這個類。
實現:如果多個類處理的目標是一樣的,但是處理的方法方式不同,那么就定義一個接口,也就是一個標準,讓他們的實現這個接口,各自實現自己具體的處理方法來處理那個目標
第一、聯系
繼承父類和實現接口都能實現代碼重用,提高開發效率。提現了實物的傳遞性,繼承關系達到復用的目的。
第二、區別
1、修飾不同
不同的修飾符修飾;實現:implements,繼承:extends;
2、數量不同
Java只支持“接口”的多繼承,不支持“類“”的多繼承;而繼承在java中具有單根性,子類只能繼承一個父類。
總結為:單繼承,多實現。
3、屬性不同
在接口中只能定義全局常量(static final),和無實現的方法;而在繼承中可以定義屬性方法,變量,常量等...
4、調用不同
某個接口被類實現時,在類中一定要實現接口中的抽象方法;而繼承想調用那個方法就調用那個方法,毫無壓力