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

淺談Java封裝、繼承、多態(tài)特性

 更新時(shí)間:2021年12月21日 16:10:24   作者:網(wǎng)友小浩  
大家好,本篇文章主要講的是淺談Java封裝、繼承、多態(tài)特性,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽

1.封裝

什么是封裝,談?wù)勛约簩?duì)封裝的理解,封裝就是將類的信息(比如說(shuō)類的屬性)隱藏在類的內(nèi)部,不允許外部程序直接訪問。此時(shí)就要提到一個(gè)關(guān)鍵字private,他是一個(gè)權(quán)限修飾符,可以用來(lái)修飾成員(變量和方法),保護(hù)成員不被其他別的類來(lái)使用,如果需要被其他類來(lái)使用,那么需要提供對(duì)應(yīng)的操作:a.提供get變量名()方法,用于獲取成員變量的值 b.提供set變量名(參數(shù)),用于設(shè)置成員變量的值,同樣也和get方法一樣,都是用public來(lái)修飾(同時(shí)切記變量名的首字母一定大寫)。

2.繼承

什么是繼承,談?wù)勛约簩?duì)繼承的理解,繼承是類與類之間的一直關(guān)系,類似于數(shù)學(xué)集合之中包含與被包含之間的關(guān)系,比如大學(xué)生屬于學(xué)生,那么可以看成是大學(xué)生類 繼承了學(xué)生類,那么大學(xué)生類就是學(xué)生類的子類(派生類),學(xué)生類是大學(xué)生類的父類(基類),同時(shí)要值得注意的是Java中的繼承是單繼承(多層次繼承),多實(shí)現(xiàn)(接口),(理解成一個(gè)類不可能有兩個(gè)爹,但是兒子可以繼承父親,父親可以繼承爺爺這種多層次)

格式:public class 子類名 extends 父類名{}

舉例:public class zi extends fu{}

3.多態(tài)

什么是多態(tài),封裝和繼承幾乎都是為多態(tài)而準(zhǔn)備的,多態(tài)我個(gè)人理解成是java程序在運(yùn)行中使用繼承時(shí)的一種關(guān)系,比如方法重寫,繼承是多態(tài)的實(shí)現(xiàn)基礎(chǔ),

舉例:我們可以說(shuō)大學(xué)生是大學(xué)生:大學(xué)生? unst=new 大學(xué)生();

我們也可以說(shuō)大學(xué)生是學(xué)生:學(xué)生 st=new 大學(xué)生();

這里大學(xué)生在不同的時(shí)刻表現(xiàn)出不同的形態(tài),我認(rèn)為這就是多態(tài)

多態(tài)實(shí)現(xiàn)的前提和體現(xiàn)有以下幾點(diǎn):1.有繼承關(guān)系 2.有方法重寫 3.有父類引向子類對(duì)象

下面通過(guò)代碼來(lái)給大家展示一下封裝,繼承,多態(tài) java的這三大特性

4.上代碼,效果運(yùn)行放在最后

package Cl1;
//先創(chuàng)造一個(gè)Computer的父類
public class Computer {
    //定義屬性,利用private關(guān)鍵字,對(duì)類的性質(zhì)進(jìn)行封裝,
    private String name;
    private int price;
    //構(gòu)造一個(gè)無(wú)參方法
    public Computer(){
    }
    //構(gòu)造一個(gè)有參方法
    public Computer(String name) {
        this.name = name;
    }
    //構(gòu)造一個(gè)有參方法
    public String getName() {
        return name;
    }
    //通過(guò)set加變量名,首字母大寫來(lái)設(shè)置
    public void setName(String name) {
        this.name = name;
    }
    //通過(guò)get加變量名,首字母大寫來(lái)獲取
    public Computer(int price) {
        this.price = price;
    }
    //通過(guò)set加變量名,首字母大寫來(lái)設(shè)置
    public void setPrice(int price) {
        this.price = price;
    }
    //通過(guò)get加變量名,首字母大寫來(lái)獲取
    public int getPrice() {
        return price;
    }
    //定義父類study方法
    public void study(){
        System.out.println("電腦能用來(lái)學(xué)習(xí),也能敲代碼");
    }
}
package Cl1;
//定義一個(gè)Lenovo的子類來(lái)繼承父類
public class Lenovo extends Computer{
    public Lenovo(){
    }
    public Lenovo(String name){
        super(name);
    }
    //重新study方法,并且同時(shí)繼承調(diào)用父類中的study方法
    public void study(){
        super.study();
        System.out.println(getName()+"價(jià)格"+getPrice()+"rmb,"+"敲代碼,年入百萬(wàn)不是夢(mèng)");
    }
}
package Cl1;
//創(chuàng)建一個(gè)Apple的子類來(lái)繼承Computer
public class Apple extends Computer{
    //定義make方法,同時(shí)Computer中的s對(duì)象 調(diào)用study方法
    public void make(Computer s){
        s.study();
    }
}
package Cl1;
//測(cè)試類別
public class test {
    public static void main(String[] args) {
        //自動(dòng)轉(zhuǎn)型(向上轉(zhuǎn)型)
        Computer cp=new Lenovo();
        cp.setName("聯(lián)想小新");
        cp.setPrice(5000);
        //調(diào)用Lenovo中的study方法
        cp.study();
        //多態(tài)展現(xiàn),
        Apple apple=new Apple();
        apple.make(cp);
    }
}

到此這篇關(guān)于淺談Java封裝、繼承、多態(tài)特性的文章就介紹到這了,更多相關(guān)Java封裝繼承多態(tài)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis返回的map結(jié)果如何設(shè)置有序

    mybatis返回的map結(jié)果如何設(shè)置有序

    這篇文章主要介紹了mybatis返回的map結(jié)果如何設(shè)置有序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot?整合Mybatis-Plus并輸出SQL日志示例詳解

    SpringBoot?整合Mybatis-Plus并輸出SQL日志示例詳解

    這篇文章主要介紹了SpringBoot整合Mybatis-Plus并輸出SQL日志,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • springboot熱部署class XX cannot be cast to class XX解決方案

    springboot熱部署class XX cannot be cast&nbs

    在使用DevTools進(jìn)行熱加載時(shí)遇到的`classXXcannotbecasttoclassXX`錯(cuò)誤,以及解決該問題的方法,通過(guò)在`resources`目錄下創(chuàng)建`META-INF/spring-devtools.properties`文件,并添加相應(yīng)的配置,可以有效解決此問題,使DevTools熱加載功能得以正常工作
    2025-02-02
  • JAVA字符串拼接常見方法匯總

    JAVA字符串拼接常見方法匯總

    這篇文章主要介紹了JAVA字符串拼接常見方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 淺談Java類的加載,鏈接及初始化

    淺談Java類的加載,鏈接及初始化

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java類的加載,鏈接及初始化展開,文中有非常詳細(xì)的解釋及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 基于Java編寫emoji表情處理工具類

    基于Java編寫emoji表情處理工具類

    這篇文章主要為大家詳細(xì)介紹了如何基于Java編寫一個(gè)emoji表情處理工具類,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • Sentinel初始化啟動(dòng)流程詳細(xì)介紹

    Sentinel初始化啟動(dòng)流程詳細(xì)介紹

    Sentinel是一個(gè)分布式系統(tǒng)的流量控制組件,它可以實(shí)現(xiàn)限流與流控及降級(jí)等功能,提高系統(tǒng)的穩(wěn)定性和可靠性,這篇文章主要介紹了Sentinel的初始化流程,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05
  • Java 讀取圖片的mimeType的方法

    Java 讀取圖片的mimeType的方法

    本篇文章主要介紹了Java 讀取圖片的mimeType的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • MacOS如何安裝配置多個(gè)JDK并切換使用詳解

    MacOS如何安裝配置多個(gè)JDK并切換使用詳解

    這篇文章主要介紹了如何在MacOS上安裝和配置多個(gè)JDK版本,通過(guò)配置環(huán)境變量來(lái)實(shí)現(xiàn),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • Springboot整合logback的詳細(xì)教程

    Springboot整合logback的詳細(xì)教程

    這篇文章主要介紹了Springboot整合logback的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01

最新評(píng)論

平顶山市| 密云县| 明光市| 萨迦县| 科技| 富源县| 万安县| 嫩江县| 沛县| 万州区| 桦川县| 延安市| 贵溪市| 高邑县| 类乌齐县| 固原市| 芜湖市| 沧州市| 隆化县| 大田县| 平定县| 云林县| 万源市| 高州市| 横峰县| 松原市| 台东市| 青州市| 乌海市| 黔江区| 玉田县| 宝兴县| 宁武县| 通化市| 阿瓦提县| 莲花县| 琼结县| 吉木萨尔县| 文昌市| 张家港市| 楚雄市|