中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么理解Java面向對象

發布時間:2022-02-28 09:57:34 來源:億速云 閱讀:147 作者:iii 欄目:開發技術

這篇文章主要講解了“怎么理解Java面向對象”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么理解Java面向對象”吧!

    一、面向對象的理解

    首先,要清楚一點,與面向過程不同,面向對象有著自己獨特的優勢。舉個通俗的例子,設想我們要得到一把椅子,面向過程的話我們可能需要通過買木材,設計圖紙,最后切割而成。但對于面向對象來說,我們只需找到一個家具店,買一把椅子即可。

     面向對象也是Java語言的特點之一,其實從idea中不難看出,這種面向對象的語言所具有:

    1.易維護

    2.易復用

    3.易擴展

    二、三大特性

    2.1 繼承(extends):

    顧名思義,是獲取原有的基礎,在此基礎上進行操作的一個過程。使用已存在的類的定義作為基礎,可以增加新的屬性的一個過程。(在java中,繼承是用于子類與父類之間)

    關于繼承:

    1.子類不能選擇性的繼承父類,只要選擇繼承,就要繼承全部(除了父類中private修飾的屬性和方法)
    2.子類是對父類的一個擴展,可以有屬于自己的屬性和方法
    3.java是單繼承,但可以多重繼承(也就是有一個子類只能繼承一個父類,但是一個父類可以有多個子類。通俗來說,就是你的爸爸可以有多個孩子,但這些孩子只有一個爸爸。)

    2.2 封裝(private):

    封裝的定義:

    將一些細節信息私有化,并且提供給外界可以對其訪問其屬性的方法(如果不提供,那么這個封裝沒有意義)

    特點:

    被private修飾的類的權限最低,也最為安全,其安全性與其易維護性顯著.

    例如:

    public class Fengzhuang {
        private int chang;//成員屬性
        private int kuan;
        private int di;
        private int gao;
    
        public Fengzhuang() {//無參構造
        }
    
        public Fengzhuang(int chang, int kuan, int di, int gao) {//帶參構造
            this.chang = chang;
            this.kuan = kuan;
            this.di = di;
            this.gao = gao;
        }
    
        public int getChang() {
            return chang;
        }
    
        public void setChang(int chang) {
            this.chang = chang;
        }
    
        public int getKuan() {
            return kuan;
        }
    
        public void setKuan(int kuan) {
            this.kuan = kuan;
        }
    
        public int getDi() {
            return di;
        }
    
        public void setDi(int di) {
            this.di = di;
        }
    
        public int getGao() {
            return gao;
        }
    
        public void setGao(int gao) {
            this.gao = gao;
        }
    
        public void mj(int chang,int kuan,int di,int gao){
            int sum=chang*kuan;
            int sum2=di*gao/2;
            System.out.println("長方形的面積為"+sum+"三角形的面積為"+sum2);
    
        }
    }

    這個例子中,將長方形和三角形的面積封裝起來,作為一個方法來使用

    進行測試

    public class Fengzhuangtest {
        public static void main(String[] args) {
            Fengzhuang FZ = new Fengzhuang();
            FZ.mj(5,4,6,7);
    ;
        }
    }

    怎么理解Java面向對象

    關于封裝:

    方法和private修飾的類都是封裝的形式,當大家遇到這種只需變換數字(長和寬,底和高)的情況,可以封裝為方法,方便大家使用.

    2.3 多態:

    多態定義:

    允許不同對象對同一消息做出不同的響應,

    實現多態的條件:

    要想實現多態,必須滿足繼承,重寫,父類引用指向子類對象三大必要條件(又分為向上轉型,向下轉型)

     向上轉型:

    父類類型變量名= new 子類類型
    這種情況一般適用于父類完全滿足需求,我們不需要再去添加新的屬性

     向下轉型:

    子類類型 變量名=子類類型 父類類型的變量
    這種情況一般適用于父類滿足不了需求,需要用到子類所特有的方法時使用

    三、自動裝箱與自動拆箱

    3.1 自動裝箱

    自動將基本數據類型轉化為包裝類類型

    3.2 自動拆箱

    自動將包裝類類型轉化為基本數據類型

    感謝各位的閱讀,以上就是“怎么理解Java面向對象”的內容了,經過本文的學習后,相信大家對怎么理解Java面向對象這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    台中市| 玉龙| 阿拉善左旗| 房山区| 江北区| 桦甸市| 旬邑县| 襄垣县| 通城县| 讷河市| 治多县| 天镇县| 商河县| 秀山| 长宁区| 利辛县| 古丈县| 黑山县| 尤溪县| 怀宁县| 嘉善县| 怀安县| 敖汉旗| 南部县| 武川县| 高平市| 剑河县| 兰西县| 大兴区| 普宁市| 建昌县| 天等县| 凌源市| 三亚市| 广水市| 泽普县| 全南县| 双柏县| 清流县| 客服| 根河市|