abstract和interface

抽象类
1.抽象类中可以包含任意成分,如构造器、静态代码块、抽象方法、普通方法、内部类、成员变量等。所有抽象类可以有抽象方法,也可以没有抽象方法。
2.抽象类是不允许被用来实例化的,只能通过extends的子类来重写实现。
3.一个子类只能extends一个抽象类。
接口类
1.接口是抽象类的一种特例,不能有自己的构造函数,并且没有普通的成员变量。每个函数的默认修饰符都是public abstract,所以接口类也没有普通函数,只有抽象方法。特殊的,接口类的成员变量的修饰符默认为public static final,保证所有的子类都能使用该变量,并且不允许修改。
2.接口也不允许被实例化,只能通过implements的子类来重写实现。
3.一个子类可以implements多个接口。

值得注意的一点是:抽象方法是不可以使用private、final、static来修饰的,因为抽象方法实际上是等待子类重写来实现的。如果用了这三个修饰符,那就无法在子类中进行正常的重写了,所以这是冲突的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值