JavaSE 04
1. 包相关
每个Java类都会自动导入lang包,所以可以直接用String、System等类
2. 接口相关
在Java中接口和类平级
带static的属性和方法,就和对象没关系了,由类名调用
带abstract的方法,不能写方法体,就必须被实现类重写
除了带static/final的方法,其他类型的方法都可以被重写
一张图理解接口,接口内可以存在下面四个东西:
上图说明
- 属性都是public static final修饰的(公共,静态常量,不可修改)
- 方法都是加public abstract(这个方法必须被实现类重写)
- default是jdk8出现的
- 接口可以继承,并且可以多继承
问题
1、抽象类为什么只能被继承一个,而接口可以被实现多个?
答:当两个抽象类中有同名的方法,并且在抽象类中已经写了方法体,一个类在继承这两个类后,调用这个方法的话,java的机制将会不知道调用哪一个方法。而接口内的方法都是带abstract,需要被实现,也就是,谁调用这个方法,谁就必须自己实现这个方法,java机制自然可以找到并运行。
2、接口中可以有default方法,可以有方法体,为什么可以实现多个接口
答:因为Java在实现多个接口时,会校验这些接口中是否有同名的default方法,若有,则编译报错。