您好,登錄后才能下訂單哦!
java的抽象類是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一、什么是抽象類
由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("我是會計"); } }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。