chaoredsdragon 2019-06-26 21:55 采纳率: 100%
浏览 5777

抽象类可以创建对象吗?

这种情况搞不懂,创建对象成功了,是只要把抽象方法给具现化了就能创建吗?

abstract class Driver {
    public abstract void drive();
}

public class Test {
    public static void main(String[] args) {

        Driver d = new Driver() {
            @Override
            public void drive() {
                System.out.println("drive");
            }
        };

        d.drive();

        Driver d2 = new Driver() {
            @Override
            public void drive() {
                System.out.println("don't drive");
            }
        };

        d2.drive();
    }
}

  • 写回答

4条回答 默认 最新

  • 柳金宇 2019-06-27 08:47
    关注

    抽象类和接口都能创建对象,只是后边的new不能是new他们自己,但可以new他们的实现类(必须是类,不能是抽象类和接口),
    人们使用抽象类和接口只是为了说明要干什么事,而让他们的实现类去根据自己的需要去实现这些方法,比如说抽象类定义一个eat()方法,
    它并没有说这个方法具体怎么做,羊就可以吃草,虎就可以吃肉,羊和虎都实现了这个吃的方法。

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程