/**
- 抽象類
- 在Java中可以創(chuàng)建一中類專門來當(dāng)做父類,這種類被稱為"抽象類"
- 抽象類其實也是一個類,只是和普通類相比,其中多了抽象方法
- 抽象方法是只聲明而未實現(xiàn)的方法 逮矛,所有的抽象方法必須使用abstract關(guān)鍵字聲明
- 包含抽象方法的類也必須使用 abstract class 聲明
- 抽象類不能被直接實例化,也就是不能只能用new 關(guān)鍵字去產(chǎn)生對象
- 抽象方法只需要聲明 不需要實現(xiàn)
- 抽象類的子類必須覆寫所有的抽象方法才能被實例化转砖,否則這個子類還是個抽象類
- @author bo bo
*/
abstract class TestAb{
//定義抽象類
String name;
int age;
String occupation;
//聲明抽象方法()
public abstract String talk() ;
//抽象類定義了默認的無參構(gòu)造函數(shù) 子類默認調(diào)用父類的構(gòu)造函數(shù)
//若是沒有重寫默認的構(gòu)造無參函數(shù)须鼎,則必須在子類明確調(diào)用父類的有參構(gòu)造函數(shù)
// public TestAb () {
// }
public TestAb (String name) {
}
}
class StudentTest extends TestAb
{
public StudentTest (String name,int age,String occupation) {
super("李四");
this.name = name;
this.age = age;
this.occupation = occupation;
}
//子類必須重寫父類的抽象方法
public String talk() {
return "我的姓名:"+this.name +"年齡:"+this.age +" 職業(yè):"+this.occupation;
}
}
public class Abstract {
public static void main(String[]args) {
StudentTest pS = new StudentTest("張三", 24, "學(xué)生");
System.out.println(pS.talk());
}
}