- 抽象类和接口的区别
- 抽象类可以没有抽象方法,也可以有非抽象方法与抽象方法共存
- 接口中的方法在JDK8之前只能有抽象方法,JDK8版本开始提供了接口中方法的default实现
- 抽象类和类一样是单继承的;接口可以实现多个父接口
- 抽象类可以有普通的成员变量;接口中的变量必须是static final,必须被初始化,接口中只有常量,没有变量
- 抽象类和接口应该如何选择?在什么情况下使用?
- 根据抽象类与接口的不同之处,当我们仅仅需要定义一些抽象方法且不需要其余额外的具体方法或变量的时候,我们可以使用接口。反之,则需要使用抽象类。因为抽象类可以有非抽象方法和变量
- 如果两个接口中存在相同的默认方法,实现类继承的是哪一个?
- 这个时候,实现类中会报编译错误,大概意思是有两个相同的方法,编译器不知道该如何选择。我们有两种方案:
- 重写多个接口中相同的默认方法
- 在实现类中指定要使用哪个接口中的默认方法(接口.super.默认方法)
- JDK8中接口为什么会出现默认方法?(想说问题,再说解决方案,例子)
- 我们知道,使用接口,可以让我们面向抽象编程,但是有一个缺点,就是当接口中有改动的时候,需要修改所有的实现类。在JDK8中,为了给已存在的接口添加新的方法并且不影响已有的实现类,所以引入了接口中的默认方法实现。该特性在官方库中的应用是给Collection接口添加了默认方法实现,如forEach()、removeIf()等等。
- Java中的8个基本数据类型及范围
- Java中的8个基本数据类型分别是byte(1字节)、short(2字节)、int(4字节)、long(8字节)、float(4字节)、double(8字节)、char(2字节)和boolean(true和false)
- Java元注解:负责注解其他注解
posted @
2020-11-27 15:17
橙橘🍊。
阅读(
48)
评论()
收藏
举报