Day07有关抽象类的特征小结

抽象类的特征

抽象类的特征:有得有失
有得:抽象类得到了拥有抽象方法的能力
有失:抽象类失去了创建对象的能力。(抽象类不能创建对象)

public class AbstractDemo {
    public static void main(String[] args) {
        //Animal a = new Animal();//报错了
    }
}

abstract class Animal{
    public abstract void run();
}

面试题:抽象类是否有构造器,抽象类是否可以创建对象,为什么?
答:抽象类作为类一定有构造器,提供给子类创建对象调用父类构造器使用。
抽象类虽然有构造器但是抽象类不能创建对象
反证法:假如抽象类可以创建对象
Animal a = new Animal();
a.run();//抽象方法不能执行,因为它没有方法体,所以抽象类不能创建对象!

           抽象类本身意味着抽象,抽象就是不能具体化

注意:抽象类除了有得有失,类的其他成分它都具有。

abstract class Animal{
    private String name;
    public abstract void run();
    public void eat(){
        System.out.println("吃");
    }

    public Animal() {
    }

    public Animal(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

没有任何问题。

小结

小结:
抽象类不能创建对象,抽象类可以包含抽象方法。
除此之外,类有的成分,抽象类都具备。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值