365买球APP

java抽象类到底能不能够实例化?

📅 2025-08-04 17:33:56 👤 admin 👁️ 9275 🏷️ 49

文章目录

问题测试总结

问题

什么是抽象类?抽象类能不能被实例化?

测试

创建一个AbstractFruit抽象类

public abstract class AbstractFruit {

public AbstractFruit(){

System.out.println("我是Fruit的抽象类,我被实例化了");

}

public abstract void say();

}

使用main方法进行测试

public class Test {

public static void main(String[] args) {

AbstractFruit abstractFruit = new AbstractFruit();

}

}

这段测试代码编译报错了,意思就是AbstractFruit是抽象的不能被实例化,也就是说无法通过new的方式实例化。 那到底抽象类能不能实例化?我们写一个Orange继承AbstractFruit,代码如下:

public class Orange extends AbstractFruit {

public Orange() {

System.out.println("我是Orange类,我被实例化了");

}

@Override

public void say() {

System.out.println("我是一个Orange");

}

}

main方法测试

public static void main(String[] args) {

Orange orange = new Orange();

}

测试结果如下:

我是Fruit的抽象类,我被实例化了

我是Orange类,我被实例化了

说明,子类Orange 实例化的时候把抽象类AbstractFruit也实例化了。 那么还有其他方式实例化抽象类吗?答案是有。 可以通过如下这种生成匿名类的方式去实现抽象类的构造。

public static void main(String[] args) {

// Orange orange = new Orange();

AbstractFruit abstractFruit = new AbstractFruit() {

@Override

public void say() {

System.out.println("大家好我是abstractFruit");

}

};

abstractFruit.say();

}

打印结果如下:

我是Fruit的抽象类,我被实例化了

大家好我是abstractFruit

总结

什么是抽象类? 答:由abstract修饰的类叫抽象类。抽象的抽去了子类的公有的方法或者属性。 抽象类能不能被实例化? 答:不能。抽象类不是具体的类,无法通过new的方式实例化,但是可以通过子类的构造方法间接实例化,也可以通过生成匿名类的方式来实现。

相关推荐

红双喜 天极7-BL 评测

市场均价 约569元 简介 类型:进攻型OFF+单位:块结构:7层官方评价:适应新胶水,全新7层底板。天级7,采用“类高压气囊”技术,内5层木质

pixwox(ins网页版镜像)简介

pixwox(ins网页版镜像)简介 pixwox是一个ins网页版镜像,能够让我们直接在浏览器上查看ins社交平台的内容,instagram官方的网页版在国内是无法访问

圣地 - 冒险岛WIKI

游戏中心 | 帐号安全 | 找回密码 | 家长监控 | 用户协议 本网络游戏适合年满18岁(含)以上的玩家使用 抵制不良游戏 拒绝盗版游戏 注意自我保