1.應(yīng)用場(chǎng)景
a.父類(lèi)知道子類(lèi)應(yīng)該用什么方法 妹窖,但是不知道這些子類(lèi)如何具體地實(shí)現(xiàn)這些方法
b.從多個(gè)具有相同特征的類(lèi)中抽象出一個(gè)抽象類(lèi)啊奄,以這個(gè)抽象類(lèi)作為子類(lèi)的模板渐苏,從而避免了子類(lèi)的隨意性
2.限制規(guī)定子類(lèi)必須實(shí)現(xiàn)某些方法,但不關(guān)注實(shí)現(xiàn)細(xì)節(jié)
3.使用規(guī)則
抽象類(lèi)不能直接創(chuàng)建菇夸,即不能實(shí)例化琼富,但可以定義引用變量
1)abstract修飾抽象類(lèi)、
2)abstract修飾抽象方法
3)抽象類(lèi)中可以有普通方法
4)有抽象方法的類(lèi)是抽象類(lèi)
public abstract class Telphone {
public abstract void call();
public abstract void message();
}
public class Smartphone extends Telphone {
@Override
public void call() {
System.out.println("通過(guò)語(yǔ)音打電話");
}
@Override
public void message() {
System.out.println("通過(guò)語(yǔ)音發(fā)短信");
}
}
public class Cellphone extends Telphone {
@Override
public void call() {
System.out.println("通過(guò)鍵盤(pán)打電話");
}
@Override
public void message() {
System.out.println("通過(guò)鍵盤(pán)發(fā)短信");
}
}
public class Initiaal {
public static void main(String[] args) {
Telphone t1=new Smartphone();
t1.call();
t1.message();
Telphone t2=new Cellphone();
t2.call();
t2.message();
}
}
通過(guò)語(yǔ)音打電話
通過(guò)語(yǔ)音發(fā)短信
通過(guò)鍵盤(pán)打電話
通過(guò)鍵盤(pán)發(fā)短信