一、选择
1.

解析:向上转型是可以针对祖先的
2.

解析:
(1)toLowerCase():当赋值的是一个全是小写的值返回的是常量池中的值;当赋值的是一个不全是小写的值,则创建一个新的对象并让引用指向它。

![]()
而双引号引起来的是在常量池中,因此两个引用值不相等,false。
(2)举例:

3.

解析:hello()是一个静态方法,静态方法不需要对象也能够调用,因此即时test指向null也可以调用hello方法
4.

A. 子类必须显示调用父类的构造方法且super()必须放在子类构造方法的第一行
B. C: 不能出现在同一个构造函数,因为都得放在构造方法的第一行
D. this()和super()都是用于调用构造方法产生对象,但是static环境是不需要产生对象也能够使用,因此不能在static域中使用

5.

解析:先产生Alpha()对象,而这个对象继承Base,因此先生成依次Base对象调用其无参构造,打印Base。然后生成Base对象,打印一次Base
结果为BaseBase
6.

解析:static只能修饰成员变量,不能修饰局部变量,因此编译失败
7.

A. abstract不能修饰字段,只能修饰方法和类
B. C. D:
8.
A. 可以省略,自然的无参构造
B. 前面是正确的,构造方法也是一种方法,且和class同名
C. 构造方法是为了创建对象的,因此正确
D. 可以定义多个构造方法,方法重载
9.

A.D: 抽象方法不能有函数体,也就是不能有{},因此A对,D错
B. 成员变量的运算必须通过生成对象来调用。成员变量的原地初始化可以放在定义的时候,其实编译后也是放在了构造方法中。
C. 普通方法必须有函数体,因此错误
10.

接口一定需要被实现,因此是public修饰符修饰
二、编程题

2. 排序子序列_牛客笔试题_牛客网 (nowcoder.com)

801

被折叠的 条评论
为什么被折叠?



