iT邦幫忙

0

[Java] Abstract Class 介紹

  • 分享至 

  • xImage
  •  

閱讀時間: 1分鐘

如果要在短時間地詳細講解大量Abstract Class的用法和特色,相信大家都不容理解。
所以會分成多個部分,以不同實例向大家說明Abstract Class。
這篇就簡單講一下Abstract Class的一些特點,讓大家可以大概知道Abstract Class是什麼。

5大特點

  1. 有abstract keyword

例子:

abstract class Base { 

} 
  1. abstract class 可以包含抽象方法(abstract method) 和 非抽象方法(concrete method)
abstract class Base {    
    void fun() { System.out.println("Base fun() called"); } 
	abstract void fun2();
} 
  1. 不可以實例化(cannot be instantiated)
    抽象類別(abstract class) 是一個未定義完全的類別(class),所以不能透過abstract class來生成物件。
    如果要生成物件,就需要透過extends抽象類別(abstract class)的非抽象類別來實現。
abstract class Bike{  
  abstract void run();  
}  
class Remote extends Bike{  
void run(){System.out.println("remote running);}  
public static void main(String args[]){  
 Bike obj = new Remote();  
 obj.run();  
}  
}  
  1. 可以包含建構子(constructors) and靜態方法(static methods)
abstract class Base { 
    Base() { System.out.println("Base Constructor Called"); } 
    abstract void fun(); 
}
  1. 可以包含final method
abstract class Base { 
    final void fun() { System.out.println("called"); } 
} 

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
鬼王很慘
iT邦新手 2 級 ‧ 2020-05-09 17:05:19

第4點的靜態方法寫錯了

constructor、static method、final method這些非抽象類別也都有,應該不算特點。

謝謝閱讀,
我指的是"可以包含"那些東西,想突出Abstract Class可以做到什麼,有什麼用法。
因為對象是剛學Java的人,所以就我就把那些都列為特點,希望可以做到易於記憶。(我表達不好)

最後,謝謝你留言,
我會改善我的表達方式,希望大家更容易及快速理解Java。

我要留言

立即登入留言