java抽象类到底能不能够实例化?
生活随笔
收集整理的这篇文章主要介绍了
java抽象类到底能不能够实例化?
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 问题
- 测试
- 总结
问题
什么是抽象类?抽象类能不能被实例化?
测试
创建一个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,代码如下:
main方法测试
public static void main(String[] args) {Orange orange = new Orange();}测试结果如下:
我是Fruit的抽象类,我被实例化了 我是Orange类,我被实例化了说明,子类Orange 实例化的时候把抽象类AbstractFruit也实例化了。
那么还有其他方式实例化抽象类吗?答案是有。
可以通过如下这种生成匿名类的方式去实现抽象类的构造。
打印结果如下:
我是Fruit的抽象类,我被实例化了 大家好我是abstractFruit总结
什么是抽象类?
答:由abstract修饰的类叫抽象类。抽象的抽去了子类的公有的方法或者属性。
抽象类能不能被实例化?
答:不能。抽象类不是具体的类,无法通过new的方式实例化,但是可以通过子类的构造方法间接实例化,也可以通过生成匿名类的方式来实现。
总结
以上是生活随笔为你收集整理的java抽象类到底能不能够实例化?的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Json数组列表中的数据分组排序、组内排
- 下一篇: Map的putAll方法踩坑实记(对象深