匿名內(nèi)部類可以是抽象類嗎 JAVA相關(guān),抽象類和接口不是不能直接實(shí)例化嗎,那在匿名內(nèi)部類中為什么就可以直接用new來實(shí)例化了?
JAVA相關(guān),抽象類和接口不是不能直接實(shí)例化嗎,那在匿名內(nèi)部類中為什么就可以直接用new來實(shí)例化了?事實(shí)上,匿名類相當(dāng)于實(shí)現(xiàn)接口或抽象類的具體類,它不是抽象類或接口,因此可以實(shí)例化。在匿名內(nèi)部類中,必
JAVA相關(guān),抽象類和接口不是不能直接實(shí)例化嗎,那在匿名內(nèi)部類中為什么就可以直接用new來實(shí)例化了?
事實(shí)上,匿名類相當(dāng)于實(shí)現(xiàn)接口或抽象類的具體類,它不是抽象類或接口,因此可以實(shí)例化。在匿名內(nèi)部類中,必須實(shí)現(xiàn)抽象方法或接口方法,否則會(huì)報(bào)告錯(cuò)誤,即匿名類可以實(shí)例化,因此匿名內(nèi)部類不是例外。
抽象類能否定義對(duì)象實(shí)例?
無法實(shí)例化抽象類。但是您可以通過繼承實(shí)現(xiàn)它的抽象方法,然后創(chuàng)建一個(gè)實(shí)例,也可以創(chuàng)建一個(gè)匿名類來使用它。例如:abstract class:person有一個(gè)抽象方法say()publicabstractclassperson{abstractvoid say()},它繼承了:classjimextends person{@override say(){系統(tǒng)輸出打印他是吉姆!“)}}匿名類:personp=newperson(){@override(){系統(tǒng)輸出打印(“Hello”)純手工,希望采納!