01
jdk1.7之前byte,short,int,char
jdk1.7之后加入String
02
BC 接口只能继承接口,但是可以多继承。类都是单继承,继承有传承性
D 一个类一旦没有显示地定义任何构造,JVM会默认生成一个无参构造。无参构造的第一行还是super()。
A 默认调用父类无参的构造方法。子类的有参构造函数与是否调用父类的有参构造方法无必然关系
03
抽象类可以有自己的构造方法,但不能直接创建抽象类的实例对象。
接口不能有自己的构造方法,若在接口写入构造方法,编译器会报:Interfaces cannot have constructors
jdk1.8之后 接口中可以有静态方法,静态方法必须有方法体
04(看看书,有没有错误要修正)
题目说类,没有说是内部类还是外部类
如果是外部类 只能用 public,abstract,final,default(不写)修饰
(成员)内部类,可理解为外部类的成员,所以修饰类成员的public、protected、default、private、static等关键字都能使用
局部内部类:出现在方法内的类,不能用上述关键词来修饰(一说 可以使用final和abstract)
匿名内部类:给的是直接实现,类名都没有,没有修饰符
05
静态方法属于静态绑定,编译器根据引用类型所属的静态类型为它绑定对应其对应的方法。
此语句会翻译成invokestatic,该指令的调用中不会涉及this,所以不会依赖对象。
引用类型=null,其实就是指该引用在堆中没有对应的对象,但编译的时候还是能根据声明找到其所属的静态类型。
06
07
08
09
10
11
12
13
14(翻翻书)
15
16
17
18
19
20