抽象类和接口

抽象类是对于同一类事物的描述
在这里插入图片描述
1.不能直接创建抽象类对象,需要子类继承抽象类并重写所有抽象方法,然后使用子类。
2.抽象类可以有构造方法,是供子类创建对象时,初始化父类成员用的。
3.抽象类不一定有抽象方法,但有抽象方法的类一定是抽象类。
4.抽象类的子类必须重写该抽象类的所有抽象方法,否则编译报错,除非该子类也是抽象类。

接口可以对不同类事物的描述
在这里插入图片描述
1.java7包含常量和抽象方法,java8默认方法和静态方法,java9增加私有方法。
2.接口中的抽象方法修饰符是abstract和public两个固定的,可以省略。
3.接口不能直接使用,可以使用其实现类,该实现类必须重写接口中的所有抽象方法。
4.接口的默认方法有方法体,用public和default修饰,其中public可以省略,default不能省略。默认方法的出现是为了解决其实现类必须要重写抽象方法的问题,这样该接口的所有实现类都必须为了重写而修改代码,默认方法不要求实现类必须重写,但实现类可以自行重写。
5.接口的静态方法只需把默认方法default换成static即可,不能被实现类调用,只能通过接口名调用。
6.私有方法只能在当前接口内被调用,他的出现可以解决代码复用问题。例如为某个接口的两个默认方法抽取出一个公共方法,但是该方法不想被实现类访问,就可把其定义成私有方法。私有方法可以分为普通私有方法和静态私有方法,普通私有方法修饰符为private,静态私有方法为private和static。
7.接口中只能定义常量,用public和static和final修饰,修饰符可以省略,且必须赋值,常量名大写,用下划线分割。
8.接口不能有静态代码块和构造方法。
9.如果实现类实现的多个接口中存在多个同名的抽象方法,则只需要重写一个。
10,如果一个类为未实现接口中的全部抽象方法,则该类必须是抽象类。
11,如果实现类实现的多个接口存在同名的默认方法,则实现类一定要对该默认方法进行重写。
12,一个类的父类方法和其实现的接口默认方法产生冲突时,优先使用父类的方法。
13,一个类只能继承一个类。一个类可以实现多个接口,一个接口可以继承多个接口。
14.一个接口的多个父接口可以存在同名的抽象方法,但存在同名的默认方法时,必须要重写该默认方法,且不能丢失default关键字。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值