一、什麼是抽象類別
#由abstract修飾的方法叫抽象方法;由abstract修飾的類別叫抽象類別。抽象的類別無法進行實例化,因為他不是具體存在的類,或者說這樣的類別還不夠完善,不能直接使用new關鍵字呼叫其建構器來產生該類別的物件。我們可以使用abstract定義一個抽象類別和抽象方法,範例程式碼如下:
abstract class 类名 { abstract int 方法名(int x,int y); }
抽象的方法沒有方法體。要注意的是在抽象類別中既可以有抽象方法,也可以有普通方法,注意抽象方法是沒有方法體的(也就是方法後面是沒有大括號的)。凡是繼承這個抽象類別的實體子類,都必須實作這個抽象方法。
我們總結抽象類別的特點:
(1)抽象類別不能被實例化;
(2)建構方法和static 方法不能是抽象的;
(3)父類別的抽象方法往往在子類別中實作;
(4)抽象類別可以具有指向子類別物件的物件參考。
二、抽象類別的範例
我們先來看看要完成的實際範例:
#1、定義抽象類別員工Employee;
(a)保護欄位:姓名name,性別gender,年齡age等基本屬性。
(b)定義抽象方法函數getsalary()表示領工資的運算。
(c)定義普通函數whoami()輸出 :我是 姓名
(d)擁有(姓名name,性別gender)參數的建構子。
定義一個經理類別Manager派生於員工;
(a)除了有員工等基本屬性外,還有職位等級gree私有屬性。
(b)經理領7000元薪資,列印並輸出薪資。
(c)重寫父類別的whoami(),呼叫父類別的whoami()方法,再輸出:我是一名經理。
定義一個會計類別Accounting,衍生於員工類別;
(a)除了有員工等基本屬性外,還有會計等級rating私有屬性。
(b)會計領3000元薪資,列印並輸出薪資。
(c)重寫父類別的whoami(),呼叫父類別的whoami()方法,再輸出:我是會計。
/** * 定义类员工Employee, */ public abstract class Employee { protected String name; protected boolean gender; protected int age; public Employee(String name,boolean gender){ this.name=name; this.gender=gender; } /** * 表示领工资的操作 */ public abstract void getsalary(); public void whoami(){ System.out.println("我是"+name); } }
我們新建一個經理類Manager,繼承Employee類,這時候Eclipse就提示我們必須要重寫抽象方法getsalary。範例程式碼如下:
/** * 经理类 */ public class Manager extends Employee{ private String gree; public Manager(String name,boolean gender){ super(name,gender); } //重写父类的抽象方法 public void getsalary(){ System.out.println("经理领7000元工资"); } public void whoami(){ super.whoami();//显示调用父类的方法 System.out.println("我是经理"); } }
接下來是會計類別。和上面的經理類差不多了。
/** * 会计 */ public class Accounting extends Employee { private int rating; public Accounting(String name, boolean gender) { super(name, gender); } @Override public void getsalary() { System.out.println("会计发3000工资"); } public void whoami() { super.whoami();// 显示调用父类的方法 System.out.println("我是会计"); } }
php中文網,大量的免費Java入門教學,歡迎線上學習!
以上是java什麼是抽象類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3漢化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript開發工具