最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java基礎詳解之面向對象的那些事兒

 更新時間:2021年04月21日 08:46:02   作者:小葉要暴富  
這篇文章主要介紹了Java基礎之面向對象那些事兒,文中有非常詳細的代碼示例,對正在學習java基礎的小伙伴們有很好的幫助,需要的朋友可以參考下

一、面向對象的理解

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

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

1.易維護

2.易復用

3.易擴展

二、三大特性

2.1 繼承(extends):

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

例如:

1.先定義一個父類(動物)

在這里插入圖片描述

2.定義一個子類(貓)

在這里插入圖片描述

其中,貓作為動物,可以繼承動物中的吃食物的特性,此外,貓具有喜歡抓老鼠的特性。

3.進行測試

在這里插入圖片描述
在這里插入圖片描述

從上述這個簡單的例子可以看出,繼承是通過extends關鍵字來實現的,貓的類中沒有定義吃食物的屬性,但是繼承后可以使用吃食物的屬性(可以提高代碼的復用性)。

關于繼承:

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

2.2 封裝(private):

封裝的定義:

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

特點:

被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);
;
    }
}

在這里插入圖片描述

關于封裝:

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

2.3 多態(tài):

多態(tài)定義:

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

實現多態(tài)的條件:

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

 向上轉型:

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

 向下轉型:

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

例如:

1.先定義一個父類(動物都有吃的功能)

在這里插入圖片描述

2.定義兩個子類(貓,狗)

在這里插入圖片描述
在這里插入圖片描述

在這個例子中,同樣都是吃東西,對貓這個對象來說,是吃魚,對狗來說,是吃骨頭,是多態(tài)的體現

3.進行測試

在這里插入圖片描述

在這里插入圖片描述

三、自動裝箱與自動拆箱

3.1 自動裝箱

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

3.2 自動拆箱

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

四、小結

提到面向對象,大家應該立馬想到它的三大特性,了解其基礎概念.多敲代碼,多做題,在案例中體會三大特性

到此這篇關于Java基礎之面向對象的那些事兒的文章就介紹到這了,更多相關java面向對象內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • springboot業(yè)務功能實戰(zhàn)之告別輪詢websocket的集成使用

    springboot業(yè)務功能實戰(zhàn)之告別輪詢websocket的集成使用

    WebSocket使得客戶端和服務器之間的數據交換變得更加簡單,允許服務端主動向客戶端推送數據,下面這篇文章主要給大家介紹了關于springboot業(yè)務功能實戰(zhàn)之告別輪詢websocket的集成使用,需要的朋友可以參考下
    2022-10-10
  • Java自帶消息隊列Queue的使用教程詳細講解

    Java自帶消息隊列Queue的使用教程詳細講解

    這篇文章主要介紹了Java自帶消息隊列Queue的使用教程,Java中的queue類是隊列數據結構管理類,在它里邊的元素可以按照添加它們的相同順序被移除,隊列通常以FIFO的方式排序各個元素,感興趣想要詳細了解可以參考下文
    2023-05-05
  • java web將數據導出為pdf格式文件代碼片段

    java web將數據導出為pdf格式文件代碼片段

    這篇文章主要為大家詳細介紹了java web將數據導出為pdf格式文件代碼片段,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • SpringBoot之如何正確、安全的關閉服務

    SpringBoot之如何正確、安全的關閉服務

    這篇文章主要介紹了SpringBoot之如何正確、安全的關閉服務問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 快速入門Java中的Lambda表達式

    快速入門Java中的Lambda表達式

    Lambda作為函數式編程中的基礎部分,在其他編程語言中早就廣為使用,但在Java領域中發(fā)展較慢,直到java8,才開始支持Lambda。網上關于Lambda的教程很多,今天小編給大家分享一篇快速入手Lambda的教程。
    2016-08-08
  • 解決Spring Batch框架job任務只跑一次的問題

    解決Spring Batch框架job任務只跑一次的問題

    這篇文章主要介紹了解決Spring Batch框架job任務只跑一次的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 面向對象編程依賴注入詳解

    面向對象編程依賴注入詳解

    本文主要介紹面向對象編程依賴注入的知識資料,這里對依賴注入的資料做了詳細介紹,有興趣的小伙伴可以參考下
    2016-08-08
  • Java枚舉與注解的創(chuàng)建步驟

    Java枚舉與注解的創(chuàng)建步驟

    這篇文章通過抽象的概念和具體實現步驟,充分說明了java枚舉與注解的概念和使用方法,通過該篇文章你可以學會如何自定義枚舉類和了解部分Java內置注解,希望對你有所幫助
    2021-06-06
  • JAVA獲得包含0-9、a-z、A-Z范圍內字符串的的隨機數實例

    JAVA獲得包含0-9、a-z、A-Z范圍內字符串的的隨機數實例

    這篇文章主要介紹了JAVA獲得包含0-9、a-z、A-Z范圍內字符串的的隨機數實例,包含隨機數字、隨機字符串的獲取方法,需要的朋友可以參考下
    2014-07-07
  • 在SpringBoot中如何使用HttpClient實現HTTP請求

    在SpringBoot中如何使用HttpClient實現HTTP請求

    本文介紹了如何使用Apache?HttpClient來訪問HTTP協議的資源,并提供了詳細的使用示例,包括GET和POST請求的無參和有參調用
    2025-02-02

最新評論

孟村| 龙胜| 红安县| 彭州市| 柞水县| 焦作市| 岳阳市| 博罗县| 岳阳市| 右玉县| 江源县| 民和| 隆子县| 尼勒克县| 右玉县| 罗甸县| 县级市| 微博| 华池县| 泰安市| 通榆县| 青川县| 繁昌县| 桑日县| 卢龙县| 醴陵市| 若羌县| 营口市| 卫辉市| 专栏| 云霄县| 北票市| 安徽省| 泰和县| 安阳县| 西华县| 正安县| 陇西县| 巩义市| 勃利县| 吉林市|