- 相關(guān)推薦
java抽象技巧
如果你想設(shè)計(jì)這樣一個(gè)類(lèi),該類(lèi)包含一個(gè)特別的成員方法,該方法的具體實(shí)現(xiàn)由它的子類(lèi)確定,那么你可以在父類(lèi)中聲明該方法為抽象方法。以下是小編為大家搜索整理的java抽象技巧,歡迎大家閱讀!更多精彩內(nèi)容請(qǐng)及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!
Abstract關(guān)鍵字同樣可以用來(lái)聲明抽象方法,抽象方法只包含一個(gè)方法名,而沒(méi)有方法體。
抽象方法沒(méi)有定義,方法名后面直接跟一個(gè)分號(hào),而不是花括號(hào)。
public abstract class Employee
{
private String name;
private String address;
private int number;
public abstract double computePay();
//其余代碼
}
聲明抽象方法會(huì)造成以下兩個(gè)結(jié)果:
如果一個(gè)類(lèi)包含抽象方法,那么該類(lèi)必須是抽象類(lèi)。
任何子類(lèi)必須重寫(xiě)父類(lèi)的抽象方法,或者聲明自身為抽象類(lèi)。
繼承抽象方法的子類(lèi)必須重載該方法。否則,該子類(lèi)也必須聲明為抽象類(lèi)。最終,必須有子類(lèi)實(shí)現(xiàn)該抽象方法,否則,從最初的父類(lèi)到最終的子類(lèi)都不能用來(lái)實(shí)例化對(duì)象。
如果Salary類(lèi)繼承了Employee類(lèi),那么它必須實(shí)現(xiàn)computePay()方法:
/* 文件名 : Salary.java */
public class Salary extends Employee
{
private double salary; // Annual salary
public double computePay()
{
System.out.println("Computing salary pay for " + getName());
return salary/52;
}
//其余代碼
}
【java抽象技巧】相關(guān)文章:
Java的抽象和接口10-11
Java中的抽象類(lèi)07-15
java繼承抽象類(lèi)07-28
理解Java的接口與抽象類(lèi)06-22
抽象類(lèi)java的概念理解09-06
Java抽象類(lèi)和接口的比較08-01
Java中接口和抽象類(lèi)的異同08-12