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

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

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

1.封裝

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

2.繼承

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

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

舉例:public class zi extends fu{}

3.多態(tài)

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

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

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

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

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

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

4.上代碼,效果運行放在最后

package Cl1;
//先創(chuàng)造一個Computer的父類
public class Computer {
    //定義屬性,利用private關(guān)鍵字,對類的性質(zhì)進行封裝,
    private String name;
    private int price;
    //構(gòu)造一個無參方法
    public Computer(){
    }
    //構(gòu)造一個有參方法
    public Computer(String name) {
        this.name = name;
    }
    //構(gòu)造一個有參方法
    public String getName() {
        return name;
    }
    //通過set加變量名,首字母大寫來設(shè)置
    public void setName(String name) {
        this.name = name;
    }
    //通過get加變量名,首字母大寫來獲取
    public Computer(int price) {
        this.price = price;
    }
    //通過set加變量名,首字母大寫來設(shè)置
    public void setPrice(int price) {
        this.price = price;
    }
    //通過get加變量名,首字母大寫來獲取
    public int getPrice() {
        return price;
    }
    //定義父類study方法
    public void study(){
        System.out.println("電腦能用來學習,也能敲代碼");
    }
}
package Cl1;
//定義一個Lenovo的子類來繼承父類
public class Lenovo extends Computer{
    public Lenovo(){
    }
    public Lenovo(String name){
        super(name);
    }
    //重新study方法,并且同時繼承調(diào)用父類中的study方法
    public void study(){
        super.study();
        System.out.println(getName()+"價格"+getPrice()+"rmb,"+"敲代碼,年入百萬不是夢");
    }
}
package Cl1;
//創(chuàng)建一個Apple的子類來繼承Computer
public class Apple extends Computer{
    //定義make方法,同時Computer中的s對象 調(diào)用study方法
    public void make(Computer s){
        s.study();
    }
}
package Cl1;
//測試類別
public class test {
    public static void main(String[] args) {
        //自動轉(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

    springboot熱部署class XX cannot be cast&nbs

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

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

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

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

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

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

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

    Sentinel初始化啟動流程詳細介紹

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

    Java 讀取圖片的mimeType的方法

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

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

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

    Springboot整合logback的詳細教程

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

最新評論

久治县| SHOW| 桃园县| 祁连县| 荃湾区| 吉安县| 志丹县| 锡林郭勒盟| 鹤峰县| 石渠县| 水富县| 茂名市| 浪卡子县| 阿坝| 乐平市| 穆棱市| 卢湾区| 枣强县| 华阴市| 加查县| 神农架林区| 秦皇岛市| 黑河市| 桑日县| 韶关市| 阿鲁科尔沁旗| 福建省| 尉犁县| 华亭县| 惠州市| 屯留县| 荆门市| 津南区| 峡江县| 略阳县| 云霄县| 武定县| 武邑县| 诏安县| 佛山市| 巴中市|