如果Child extends Parent,那么正确的有()?
A. 如果Child是class,且只有一个有参数的构造函数,那么必然会调用Parent中相同参数的构造函数
B. 如果Child是interface,那么Parent必然是interface
C. 如果Child是interface,那么Child可以同时extends Parent1,Parent2等多个interface
D. 如果Child是class,并且没有显示声明任何构造函数,那么此时仍然会调用Parent的构造函数
正确答案:BCD
接口可以多继承可以被多实现,因为接口中的方法都是抽象的,这些方法都被实现的类所实现,即使多个父接口中有同名的方法,在调用这些方法时调用的时子类的中被实现的方法,不存在歧义;同时,接口的中只有静态的常量,但是由于静态变量是在编译期决定调用关系的,即使存在一定的冲突也会在编译时提示出错;而引用静态变量一般直接使用类名或接口名,从而避免产生歧义,因此也不存在多继承的第一个缺点。 对于一个接口继承多个父接口的情况也一样不存在这些缺点。所以接口可以多继承。
顺序执行下列程序语句后,则b的值是()
String a="Hello";
String b=a.substring(0,2);
A. Hello
B. Hel
C. He
D. null
正确答案:C
参数:beginIndex - 起始索引(包括)。endIndex - 结束索引(不包括)。返回:指定的子字符串。抛出:IndexOutOfBoundsException - 如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex。
专门查了API,记住subString方法类比数学中的 [ ) 就行了,包含左边不包含右边。