- 1竖独、語(yǔ)法定義:
抽象類(lèi)前使用abstract關(guān)鍵字修飾篷店,則該類(lèi)為抽象類(lèi)重父。 - 2花椭、應(yīng)用場(chǎng)景:
a.某個(gè)父類(lèi)只知道其子類(lèi)的方法,但不知道子類(lèi)是如何實(shí)現(xiàn)這些方法的房午。
b.從多個(gè)具有相同特征的類(lèi)中抽象出一個(gè)抽象類(lèi)矿辽,以這個(gè)抽象類(lèi)作為子類(lèi)的模版,從而避免了子類(lèi)設(shè)計(jì)的隨意性。 - 3嗦锐、作用
限制規(guī)定了子類(lèi)必須實(shí)現(xiàn)某些方法嫌松,但不關(guān)注實(shí)現(xiàn)細(xì)節(jié)。 - 4奕污、使用規(guī)則
a.abstract定義抽象類(lèi)
b.abstract定義抽象方法萎羔,只有聲明,不需要實(shí)現(xiàn)
c.包含抽象方法的類(lèi)是抽象類(lèi)
d.抽象類(lèi)中可以包含普通的方法碳默,也可以沒(méi)有抽象方法
e.抽象類(lèi)不能直接創(chuàng)建贾陷,可以定義引用變量
Telephone.java(抽象類(lèi))
package com.imooc;
public abstract class Telephone {
//抽象類(lèi)中只定義方法,而不需要實(shí)現(xiàn)方法
public abstract void call();
public abstract void message();
}
SmartPhone.java(抽象類(lèi)的子類(lèi))
子類(lèi)自動(dòng)重寫(xiě)父類(lèi)的方法嘱根,然后實(shí)現(xiàn)具體方法
package com.imooc;
public class SmartPhone extends Telephone {
@Override
public void call() {
// TODO Auto-generated method stub
System.out.println("通過(guò)語(yǔ)音打電話");
}
@Override
public void message() {
// TODO Auto-generated method stub
System.out.println("通過(guò)語(yǔ)音來(lái)發(fā)短信");
}
}
Initail.java(方法應(yīng)用類(lèi))
package com.imooc;
public class Initail {
public static void main(String[] args) {
// TODO Auto-generated method stub
//抽象類(lèi)的父類(lèi)引用
Telephone tel2 = new SmartPhone();
tel2.call();
tel2.message();
}
}