Java自學之路-Java基礎教程-19:Java四大特性之抽象性以及abstract
Java有一種類定義為抽象的,使用關鍵字abstract。抽象的意思就是不具體的,需要其他類繼承,才能生成這個類的物件進行使用。
package com.helloworld;
public abstract class AbstractManager {
public void countPerson() {
int count = 10;
System.out.println(count);
}
}
在上面的例子裡,在class前加一個abstract就把這這個類定義為抽象類了。這個抽象類有一個方法,為countPerson()。在HelloWorld類的main方法中是否可以建立這個AbstractManager類的物件呢?AbstractManager abstractManager = new AbstractManager();這樣寫,但這一行會出現編譯錯誤的紅叉。
那麼如何使用這個抽象類?這就要先用一個其他的類繼承這個抽象類。下面的程式碼使用class PersonManagerImpl extends AbstractManager來繼承抽象類AbstractManager。
package com.helloworld; public class PersonManagerImpl extends AbstractManager implements PersonManager { @Override public void findPerson() { System.out.println("A person is found. "); } }
這樣才可以由通過PersonManagerImpl類來使用AbstractManager類中的方法。在main()方法中這樣定義一個物件, PersonManagerImpl manager = new PersonManagerImpl();
manager.countPerson();
manager.findPerson();
這就讓abstractManager成了AbstractManager型別的物件了,並且也是PersonManagerImpl型別的物件。所以物件manager可以呼叫AbstractManager的countPerson()方法,也可以呼叫PersonManagerImpl的findPerson()方法。
注意,class PersonManagerImpl extends AbstractManager implements PersonManager這樣寫是可以的,但是extends在後面implements在前面就不可以了,這是Java規定的。
另外,Java中的類可以implements 多個介面,但只能extends一個父類。實現多個介面時,implements後面的介面名用,逗號隔開。
配套進階視訊教程:
具有OCR和翻譯功能,可以作為便籤或筆記,類似微博的圖文應用
發表的好記可以轉化為好文,並可轉化為語音,在電腦端可以下載到該語音。
使用〖影音好記〗小程式識別圖片文字