解析见:https://blog.csdn.net/zz2097831284/article/details/120200588
一、单选题(每题 2 分,共 40 分)
1.给出如下代码:
class Test{
private int m;
public static void fun() {
//some code?
}
}
如何使成员变量 m 可以被函数 fun()直接访问( )
A.将 private int m 改为 protected int m
B.将 private int m 改为 public int m
C.将 private int m 改为 static int m
D.将 private int m 改为 int m
2.已知 A 类在 package A 中, B 类在 package B 中,且 B 类被声明为 public,且
有一个成员变量 x 被声明为 protected 控制方式。C 类也位于 package A 包
中,且继承了 B 类。则以下说法正确的是( )
A.A 类的实例不能访问到 B 类的实例
B.A 类的实例能够访问到 B 类一个实例的 x 成员
C.C 类的实例可以访问到 B 类一个实例的 x 成员
D.C 类的实例不能访问到 B 类的实例
3.从下面四段(A,B,C,D)代码中选择出正确的代码段( )
A.abstract class Name {
private String name;
public abstract boolean isStupidName(String name) {}
}
B.public class Something {
void doSomething () {
private String s = "";
int l = s.length();
}
}
C.public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}class Other {
public int i;
}
D.public class Something {
public int addOne(final int x) {
return ++x;
}
}
4.下列哪一种叙述是正确的( )
A.abstract 修饰符可修饰字段、方法和类
B.抽象方法的 body 部分必须用一对大括号{ }包住
C.声明抽象方法,大括号可有可无
D.声明抽象方法不可写出大括号
5.已知如下代码,下列选项中哪个表达式会编译出错( )
interface IFace{}
class CFace