淺談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封裝繼承多態內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!