一、abstract與staticjava
(what)spa
abstract:用來聲明抽象方法,抽象方法沒有方法體,不能被直接調用,必須在子類overriding後才能使用操作系統
static:用來聲明靜態方法,靜態方法能夠被類及其對象調用.net
(how)線程
static與abstract不能同時使用對象
(why)blog
用static聲明方法代表這個方法在不生成類的實例時可直接被類調用,而abstract方法不能被調用,二者矛盾。it
二、abstract與nativeclass
(what)方法
native:用來聲明本地方法,該方法的實現由非java 語言實現,好比C。通常用於java與外環境交互,或與操做系統交互
(how)
native 能夠與全部其它的java 標識符連用,可是abstract除外。
(why)
由於native 暗示這些方法是有實現體的,只不過這些實現體
是非java 的,可是abstract卻顯然的指明這些方法無實現體。
三、abstract與synchronized
(what)
synchronized:用於防止多個線程同時調用一個對象的該方法,與static連用可防止多個線程同時調用一個類的該方法
(how)
abstract與synchronized不能同時使用
(why)
從synchronized的功能也能夠看出,用synchronized的前提是該方法能夠被直接調用,顯然和abstract連用
轉載:http://blog.csdn.net/fhm727/article/details/5222965