首頁> Java> java教程> 主體

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

WBOY
發布: 2022-09-06 17:34:52
轉載
1403 人瀏覽過

這篇文章為大家帶來了關於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中文網其他相關文章!

相關標籤:
來源:jb51.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!