封裝、繼承、多態

方法的重載和覆蓋java

重載(overload):在一個類中重載多個方法,方法名相同,參數形式、數量不一樣ide

重載的規則:
   一、重載時只能經過相同的方法名、不一樣的參數形式實現,能夠是不一樣的參數類型,不一樣的參數個數,不一樣的參數順序(參數類型必須不同);
   二、不能經過訪問權限、返回類型、拋出的異常進行重載;
   三、方法的異常類型和數目不會對重載形成影響;函數

覆蓋(override):重寫一個方法,用以實現不一樣的功能,通常是子類重寫父類的方法對象

重寫(覆蓋)的規則:
   一、參數列表必須徹底相同,不然不能稱其爲重寫而是重載.
   二、訪問修飾符必定要大於被重寫方法的訪問修飾符(public>protected>default>private)。
   三、返回值必須和被重寫的方法的返回一致;
   四、拋出的異常必須和被重寫方法的所拋出的異常一致,或者是其子類;
   五、被重寫的方法不能爲private,不然在其子類中只是新定義了一個方法,並無對其進行重寫。
   六、靜態方法不能被重寫爲非靜態的方法(會編譯出錯)。繼承

 

繼承(extends):繼承父類的所有功能,只能有一個繼承接口

實現(implements):實現接口中所定義的方法,可實現多個接口內存

 

默認構造器:Java類中有默認的無參構造器,格式爲<class_name>(){},做用是根據類型爲對象提供默認值,0或null...作用域

有參構造器:爲不一樣的對象提供不一樣的初始化參數,構造方法也能夠進行重載編譯器

構造函數與方法之間的區別編譯

Java構造函數 Java方法
構造器用於初始化對象的狀態(數據)。 方法用於暴露對象的行爲。
構造函數不能有返回類型。 方法通常都有返回類型。
構造函數隱式調用。 方法要顯式調用。
若是沒有指定任何構造函數,java編譯器提供一個默認構造函數。 在任何狀況下編譯器都不會提供默認的方法調用。
構造函數名稱必須與類名稱相同。 方法名稱能夠或能夠不與類名稱相同(隨意)。

 

成員變量:定義在類中,類中均可以訪問;存儲在堆內存的對象中;有默認初始值

局部變量:做用於局部,局部訪問;存儲在棧中,隨做用域結束而清除;沒有初始值

變量使用時遵循 就近原則

靜態變量(方法):隨着類的加載存在,類消失而消失;可經過類名調用;存儲在方法區的靜態區;對象之間共享

對象的做用域經過{}來分割

相關文章
相關標籤/搜索