java抽象类到底能不能够实例化?
文章目錄
- 問(wèn)題
- 測(cè)試
- 總結(jié)
問(wèn)題
什么是抽象類?抽象類能不能被實(shí)例化?
測(cè)試
創(chuàng)建一個(gè)AbstractFruit抽象類
public abstract class AbstractFruit {public AbstractFruit(){System.out.println("我是Fruit的抽象類,我被實(shí)例化了");}public abstract void say(); }使用main方法進(jìn)行測(cè)試
public class Test {public static void main(String[] args) {AbstractFruit abstractFruit = new AbstractFruit();} }這段測(cè)試代碼編譯報(bào)錯(cuò)了,意思就是AbstractFruit是抽象的不能被實(shí)例化,也就是說(shuō)無(wú)法通過(guò)new的方式實(shí)例化。
那到底抽象類能不能實(shí)例化?我們寫(xiě)一個(gè)Orange繼承AbstractFruit,代碼如下:
main方法測(cè)試
public static void main(String[] args) {Orange orange = new Orange();}測(cè)試結(jié)果如下:
我是Fruit的抽象類,我被實(shí)例化了 我是Orange類,我被實(shí)例化了說(shuō)明,子類Orange 實(shí)例化的時(shí)候把抽象類AbstractFruit也實(shí)例化了。
那么還有其他方式實(shí)例化抽象類嗎?答案是有。
可以通過(guò)如下這種生成匿名類的方式去實(shí)現(xiàn)抽象類的構(gòu)造。
打印結(jié)果如下:
我是Fruit的抽象類,我被實(shí)例化了 大家好我是abstractFruit總結(jié)
什么是抽象類?
答:由abstract修飾的類叫抽象類。抽象的抽去了子類的公有的方法或者屬性。
抽象類能不能被實(shí)例化?
答:不能。抽象類不是具體的類,無(wú)法通過(guò)new的方式實(shí)例化,但是可以通過(guò)子類的構(gòu)造方法間接實(shí)例化,也可以通過(guò)生成匿名類的方式來(lái)實(shí)現(xiàn)。
總結(jié)
以上是生活随笔為你收集整理的java抽象类到底能不能够实例化?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Json数组列表中的数据分组排序、组内排
- 下一篇: mysql常见的sql语法示例