搜尋
首頁Javajava教程一起聊聊Java封裝、繼承、多型特性

這篇文章為大家帶來了關於java的相關知識,其中主要講的是淺談Java封裝、繼承、多態特性,有興趣的同學趕快來看一看吧,希望對大家有幫助。

一起聊聊Java封裝、繼承、多型特性

推薦學習:《java影片教學

1.封裝

什麼是封裝,談談自己對封裝的理解,封裝就是將類別的資訊(比如說類別的屬性)隱藏在類別的內部,不允許外部程式直接存取。此時就要提到一個關鍵字private,他是一個權限修飾符,可以用來修飾成員(變數和方法),保護成員不被其他別的類別來使用,如果需要被其他類別來使用,那麼需要提供對應的操作:a.提供get變數名()方法,用來取得成員變數的值b.提供set變數名稱(參數),用來設定成員變數的值,同樣也和get方法一樣,都是用public來修飾(同時切記變數名的首字母一定大寫)。

2.繼承

什麼是繼承,談談自己對繼承的理解,繼承是類別與類別之間的一直關係,類似於數學集合之中包含與被包含之間的關係,例如大學生屬於學生,那麼可以看成是大學生類繼承了學生類,那麼大學生類就是學生類的子類(派生類),學生類是大學生類的父類(基類),同時要值得注意的是Java中的繼承是單繼承(多層次繼承),多實現(接口),(理解成一個類不可能有兩個爹,但是兒子可以繼承父親,父親可以繼承爺爺這種多層次)

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

範例:public class zi extends fu{}

3.多態

什麼是多態,封裝和繼承幾乎都是為多態而準備的,多態我個人理解成是java程式在運行中使用繼承時的一種關係,例如方法重寫,繼承是多態的實作基礎,

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

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

這裡大學生在不同的時刻表現出不同的形態,我認為這就是多態

多態實現的前提和體現有以下幾點:1.有繼承關係2.有方法重寫3.有父類別引向子類別物件

下面透過程式碼來給大家展示一下封裝,繼承,多態java的這三大特性

4.上程式碼,效果運行放在最後

package Cl1;
//先创造一个Computer的父类
public class Computer {
    //定义属性,利用private关键字,对类的性质进行封装,
    private String name;
    private int price;
    //构造一个无参方法
    public Computer(){
    }
    //构造一个有参方法
    public Computer(String name) {
        this.name = name;
    }
    //构造一个有参方法
    public String getName() {
        return name;
    }
    //通过set加变量名,首字母大写来设置
    public void setName(String name) {
        this.name = name;
    }
    //通过get加变量名,首字母大写来获取
    public Computer(int price) {
        this.price = price;
    }
    //通过set加变量名,首字母大写来设置
    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方法,并且同时继承调用父类中的study方法
    public void study(){
        super.study();
        System.out.println(getName()+"价格"+getPrice()+"rmb,"+"敲代码,年入百万不是梦");
    }
}
package Cl1;
//创建一个Apple的子类来继承Computer
public class Apple extends Computer{
    //定义make方法,同时Computer中的s对象 调用study方法
    public void make(Computer s){
        s.study();
    }
}
package Cl1;
//测试类别
public class test {
    public static void main(String[] args) {
        //自动转型(向上转型)
        Computer cp=new Lenovo();
        cp.setName("联想小新");
        cp.setPrice(5000);
        //调用Lenovo中的study方法
        cp.study();
        //多态展现,
        Apple apple=new Apple();
        apple.make(cp);
    }
}

推薦學習:《java影片教學

以上是一起聊聊Java封裝、繼承、多型特性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:脚本之家。如有侵權,請聯絡admin@php.cn刪除
JVM如何促進Java的'寫作一次,在任何地方運行”(WORA)功能?JVM如何促進Java的'寫作一次,在任何地方運行”(WORA)功能?May 02, 2025 am 12:25 AM

JVM通過字節碼解釋、平台無關的API和動態類加載實現Java的WORA特性:1.字節碼被解釋為機器碼,確保跨平台運行;2.標準API抽像操作系統差異;3.類在運行時動態加載,保證一致性。

Java的較新版本如何解決平台特定問題?Java的較新版本如何解決平台特定問題?May 02, 2025 am 12:18 AM

Java的最新版本通過JVM優化、標準庫改進和第三方庫支持有效解決平台特定問題。 1)JVM優化,如Java11的ZGC提升了垃圾回收性能。 2)標準庫改進,如Java9的模塊系統減少平台相關問題。 3)第三方庫提供平台優化版本,如OpenCV。

說明JVM執行的字節碼驗證的過程。說明JVM執行的字節碼驗證的過程。May 02, 2025 am 12:18 AM

JVM的字節碼驗證過程包括四個關鍵步驟:1)檢查類文件格式是否符合規範,2)驗證字節碼指令的有效性和正確性,3)進行數據流分析確保類型安全,4)平衡驗證的徹底性與性能。通過這些步驟,JVM確保只有安全、正確的字節碼被執行,從而保護程序的完整性和安全性。

平台獨立性如何簡化Java應用程序的部署?平台獨立性如何簡化Java應用程序的部署?May 02, 2025 am 12:15 AM

Java'splatFormIndepentEncealLowsApplicationStorunonAnyOperatingsystemwithajvm.1)singleCodeBase:writeandeandcompileonceforallplatforms.2)easileupdates:updatebybytecodeforsimultanane deployment.3)testOnOneOnePlatForforurouniverSalpeforuluniverSalpehavior formafforulululyiversalivernave.444.44.444

Java的平台獨立性如何隨著時間的流逝而發展?Java的平台獨立性如何隨著時間的流逝而發展?May 02, 2025 am 12:12 AM

Java的平台獨立性通過JVM、JIT編譯、標準化、泛型、lambda表達式和ProjectPanama等技術不斷增強。自1990年代以來,Java從基本的JVM演進到高性能的現代JVM,確保了代碼在不同平台的一致性和高效性。

在Java應用程序中緩解平台特定問題的策略是什麼?在Java應用程序中緩解平台特定問題的策略是什麼?May 01, 2025 am 12:20 AM

Java如何緩解平台特定的問題? Java通過JVM和標準庫來實現平台無關性。 1)使用字節碼和JVM抽像操作系統差異;2)標準庫提供跨平台API,如Paths類處理文件路徑,Charset類處理字符編碼;3)實際項目中使用配置文件和多平台測試來優化和調試。

Java的平台獨立性與微服務體系結構之間有什麼關係?Java的平台獨立性與微服務體系結構之間有什麼關係?May 01, 2025 am 12:16 AM

java'splatformentenceenhancesenhancesmicroservicesharchitecture byferingDeploymentFlexible,一致性,可伸縮性和便攜性。 1)DeploymentFlexibilityAllowsibilityAllowsOllowsOllowSorlowsOllowsOllowsOllowSeStorunonAnyPlatformwithajvM.2)penterencyCrossServAccAcrossServAcrossServiCessImplifififiesDeevelopmentandeDe

GRAALVM與Java的平台獨立目標有何關係?GRAALVM與Java的平台獨立目標有何關係?May 01, 2025 am 12:14 AM

GraalVM通過三種方式增強了Java的平台獨立性:1.跨語言互操作,允許Java與其他語言無縫互操作;2.獨立的運行時環境,通過GraalVMNativeImage將Java程序編譯成本地可執行文件;3.性能優化,Graal編譯器生成高效的機器碼,提升Java程序的性能和一致性。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版