Hello 大家好,我又來啦,今天我們來說說Java的面向對象。 還記得之前去面試幾家公司的實習生職位,大部分面試官都問過我有關面向對象 的問題,不知道以後還會不會問,估計是不會了吧。。。(:3[▓▓] 下麵我們來說正事!(≖ ‿ ≖)✧ 面向對象特點有四個——封裝、繼承、多態、抽象 封裝: 封裝的 ...
Hello 大家好,我又來啦,今天我們來說說Java的面向對象。
還記得之前去面試幾家公司的實習生職位,大部分面試官都問過我有關面向對象 的問題,不知道以後還會不會問,估計是不會了吧。。。(:3[▓▓]
下麵我們來說正事!(≖ ‿ ≖)✧
面向對象特點有四個——封裝、繼承、多態、抽象
封裝:
封裝的概念:方法的調用者並不清楚方法的具體業務邏輯,只有方法的實現者才清楚方法的具體實現。
封裝的理解:Java將相關變數和方法封裝到類中,通過可見性實現封裝。
可見性有四個關鍵字:
1.private:當前類可見
2.protected:當前類&本包可見
3.default:(預設)當前類&本包&外包子類可見
4.private:都可見
class的可見性要麼是public,要麼是本包可見
一般情況下都是方法公有化(public)屬性私有化(private)
繼承:
繼承的概念:子類可以繼承父類所有屬性和方法,但是由於可見性的原因,子類只能使用所有父類的非私有化屬性和方法(構造器除外)。
※要註意繼承是單向的,不可以互相繼承
多態:
多態就是重寫和重載了,區別就是重載和參數有關,重寫和對象有關
重載方法可以發生在兩個類中,也可以發生在一個類中,方法名一致,參數類型不同,與返回值無關。
重寫一定發生在兩個類中,方法名一致,參數類型一致,方法返回類型一致,返回類型一致。
1 //方法test體現重載 方法testTest體現重寫 2 public class A { 3 public void test(int a){ 4 return "a"; 5 } 6 7 public void test(long a){ 8 return "aa"; 9 } 10 11 public void testTest(int b){ 12 return "b"; 13 } 14 } 15 16 public class B extends A{ 17 public void testTest(int b){ 18 return "bbbbbb"; 19 } 20 }
抽象:
抽象的概念包括介面和抽象類。
public interface A{}
介面特點:不能實例化對象
只有常量
只有抽象方法,沒有普通方法
一定被實現
介面是特殊的抽象類
悄悄告訴你(`・ω・´) :一個類可以實現多個介面 || 抽象類可以實現介面 || 介面可以繼承介面 || 不能實現介面)
public abstract class A{}
抽象類特點:不能實例化對象
有構造器(有成員變數,需要初始化化)
可以有常量&變數
可以有普通方法&抽象方法
一定被繼承,實現就得重寫抽象方法
抽象類的優點:可以被多次♂利用。
抽象方法一定在抽象類中,抽象類中不一定有抽象方法。
好了! 以上就是目前我在Java面向對象方面的小小見解了!希望能夠幫到大家!
我們下期再見!