2. 介面的定義與使用
1.所有的抽象類必須有子類2.抽象類的子類必須覆寫所有的抽象方法(子類不是抽象類)
3.抽象類的物件可以通過物件多型性利用子類為其初始化
4.private與abstract不能同時使用
舉例:使用乙個抽象類
abstract
class
person
public
void
setname
(string name)
public
abstract
void
getpersoninfo()
;//抽象方法
}class
student
extends
person
}public
class
test
}//子類實現
抽象類中包含有抽象方法,而抽象方法不包含方法體,即沒有具體實現。因此抽象類不能直接產生例項化物件
舉例:使用抽象類的另一種方式
abstract
class
person
public
void
setname
(string name)
public
abstract
void
getpersoninfo()
;//抽象方法
public
static person getinstance()
}return
newstudent()
;}}public
class
test
}//子類實現
abstract
class
person
public string getname()
public
void
setname
(string name)
}class
student
extends
person
public
void
getpersoninfo()
}public
class
test}/*
父類構造方法
子類構造方法
張三*/
如果父類沒有無參構造,那麼子類構造必須使用super明確指出使用父類哪個構造方法
舉例:一段特殊的**
abstract
class
apublic
abstract
void
print()
;}class
bextends
apublic
void
print()
}public
class
test
}//0
物件的例項化操作實際需要以下幾個步驟:
abstract
class
a//空方法,普通方法
}public
class
test
}
舉例:定義乙個簡單的介面
inte***ce
imessage
舉例:子類實現介面與父類介面之間的轉換
inte***ce
imessage
inte***ce
platform
inte***ce
combination
extends
imessage
,platform
abstract
class
company
//子類qqmessage繼承company類實現combination介面
class
qqmessage
extends
company
implements
combination
public
void
getinfo()
public
void
supportplatform()
}//msnmessage實現兩個介面
class
msnmessage
implements
imessage
,platform
public
void
supportplatform()
}public
class
test
public
static
void
printplatform
(platform platform)
public
static
void
main
(string[
] args)
else
plantform.
supportplatform()
; system.out.
println()
;printimessageinfo
(qq)
;printplatform
(qq)
; company company = qq;
company.
producter()
;}}/*
hello qq message
qq支援windows平台和mac平台
hello msn message
msn 支援windows平台
message是platform的例項化物件
qq支援windows平台和mac平台
hello qq message
qq支援windows平台和mac平台
tencent 出品
*/
class
aextends
bimplementsc,e
abstract
class
a implents b
inte***ce
aextends
b,c
舉例:電腦上可以使用的任何usb裝置(u盤,印表機)
//usb標準
inte***ce
usbclass
computer
}class
udisk
implements
usbpublic
void
work()
}class
printdisk
implements
usbpublic
void
work()
}public
class
test
}
Java抽象類與介面
一.概念 在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是反過來卻不是這樣。並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。比如 如果我們進行乙個圖形編輯軟體的開發,就會發現問題領域存在著圓 三角形這樣一些具體概念。它們是不同的...
JAVA抽象類與介面
抽象方法 使用abstract關鍵字修飾的方法,沒有方法體,抽象方法只能使用public 或者protected修飾。public abstract void fun 抽象類 使用abstract關鍵字修飾的類 包含抽象方法的類是抽象類 抽象類可以不包含抽象方法 抽象類只能被繼承,不能自己建立例項 ...
Java 抽象類 與 介面
如果乙個類含有抽象方法,則稱這個類是抽象類,抽象類必須使用abstract 關鍵字修飾。因為抽象類中含有抽象方法,所以不能用抽象類建立物件。抽象方法 只有宣告,沒有實現。如果乙個類繼承了乙個抽象類,他必須實現這個抽象類的全部抽象方法,否則,他依然是個抽象類。如下 private abstract c...