java-抽象類和繼承抽象類
阿新 • • 發佈:2019-02-02
抽象類和繼承抽象類
抽象類不能直接例項化,需要建立一個指向自己的物件引用(其子類)來例項化
程式碼:
public class Main
{
public static void main(String[] args)
{
/* People people = new People(); */ //錯誤
People p = new Man();
p.eat();
p.drink();
/* p.palyGames() */ //此方法錯誤
Man man = new Man();
man.eat();
man.playGames();
Women women = new Women();
women.eat();
women.dressing();
}
abstract static class People{
String name;
int age;
float height;
float weight;
public void eat(){
System.out.println("人都會吃飯");
}
public abstract void drink();
}
static class Man extends People{
float short_hair;
public void playGames(){
System.out.println("男的獨有的打遊戲技能");
}
@Override
public void drink(){
System.out.println("man drink 酒");
}
}
static class Women extends People{
float long_hair;
public void dressing(){
System.out.println("女的獨有的化妝技能");
}
@Override
public void drink(){
System.out.println("women drink 飲料");
}
}
}
這裡People不能直接例項化,如果是People p = new Man();這裡p只能呼叫People類n抽象方法和成果呼叫了其抽象方法,則訪問的是其引用類(子類)繼承的抽象類;如果是Man man= new Man();這裡man是可以呼叫類Man和其繼承的抽象類People的方法和屬性