Java基础——接口和抽象类的区别

接口和抽象类的区别。

接口和抽象类的区别

接口:
1.接口中只能定义常量和抽象方法,
//*public static final */ double PI =3.45 ---接口中的成员可以不写修饰符。默认都是public
//*public abstrac */void 方法名();
2.接口表示一种能力,想扩展就实现不想就不实现。
3.接口不能实例化,因为没有构造方法,只能被实现使用
4.类只能继承一个类,但是可以实现多个接口,这就是java中的多继承
5.接口实现使用implements 继承使用extends关键字
6.接口可以继承接口,并且可以同时继承多个接口
7.类可以在继承父类的同时,实现多个接口
8.接口就是一系列的方法的声明
抽象类:
1.使用abstract关键字修饰
2.抽象类不能实例化,需要子类继承使用
3.抽象方法没有方法体,需要被重写
4.抽象方法必须在抽象类中
5.子类必须实现父类中所有的抽象方法,除非子类也声明为抽象类
6.抽象类中可以有普通方法
7.抽象类不能被final修饰,抽象类是被用于继承的,final修饰代表不可修改,不可继承
区别:
	1)语法
	抽象类中可以有自己的属性,普通的非抽象方法,以及抽象方法
	接口中一般定义常量和抽象方法,没有普通成员属性,所有方法均为抽象方法
	2)编程
	抽象类只能继承一个,接口可以同时实现多个
	3)问题应用
	使用继承必须存在is-a的关系
	接口不要求实现类和接口之间有关系
	4)接口和抽象类,都是为了多态服务的
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值