抽象类、接口及其区别?

(1)抽象类:
1)含有抽象方法的类一定是抽象类,抽象类和抽象方法用abstract修饰
2)抽象类中既可以有抽象方法也可以有非抽象方法
3)子类中实现抽象类的抽象方法时抽象方法必须全部实现
4)抽象类中的成员函数修饰符可以是private、protect、public
5)抽象类中可以包含构造方法,子类实现抽象类的构造方法时必须用super()来实现
6)抽象类不能实例化,但可以在抽象类中调用main方法。
7)一个类可以实现多个接口,但只能继承一个抽象类
(2)接口
1)接口中的方法默认都是抽象的
2)接口中的修饰符时public static final类型得
3)接口中不能有构造方法
4)子类在实现接口时,接口的成员方法要全部实现
5)接口是抽象的不能被实例化,但实现接口成员方法的子类可以实例化
(3)抽象类与接口的区别?
1)抽象类中既可以含有抽象方法也可以含有非抽象方法,而接口的成员方法默认都是抽象的
2)抽象类的可以有构造器,而接口中没有构造器
3)抽象类和抽象类中的抽象方法用abstrac修饰,而接口不是
4)抽象类中的抽象方法修饰符可以是public、protect、private,而接口的成员方法修饰符只能是public,并且用是final类型的
5)抽象类和接口都不能被实例化,但抽象类可调用main方法
6)抽象类中的成员方法既可以是抽象的也可以是非抽象的,所以抽象类的成员方法不一定全部要实现,但抽象方法一定要实现,而接口中的成员方法都是抽象的,所以接口中的方法都要被子类所实现。
7)含有抽象方法的不一定是抽象类,也可能是抽象接口,如果说:含有抽象方法的类,那么该类一定是抽象类。但抽象类不一定包含非抽象方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值