一. 选择题(234)
1.下面中哪两个可以在 A 的子类中使用:(
)
class A {
protected int method1 (int a, int b) {
return 0;
}
}
A. public int method 1 (int a, int b) { return 0; } B. private int method1 (int a, int b) { return 0; } C. private int method1 (int a, long b) { return 0; } D. public short method1 (int a, int b) { return 0; } 解答:AC
主要考查子类重写父类的方法的原则
B,子类重写父类的方法,访问权限不能降低
C,属于重载
D,子类重写父类的方法 返回值类型要相同或是父类方法返回值类型的子类
2.Abstract method cannot be static. True or False ? A True B False
解答:A
抽象方法可以在子类中被重写,但是静态方法不能在子类中被重写,静态方法和静态属性与对象是 无关的,只与类有关,这与 abstract 是矛盾的,所以 abstract 是不能被修饰为 static,否则就 失去了 abstract 的意义了
3.What will be the output when you compile and execute the following program. class Base {
void test() { -
System.out.println(\ } }
public class Child extends Base { void test()
{ System.out.println(\); }
static public void main(String[] a) { Child anObj = new Child(); Base baseObj = (Base)anObj;
baseObj.test();
}
}
Select most appropriate answer. A Child.test() Base.test()
B Base.test() Child.test() C Base.test()
D Child.test()
解答:D
测试代码相当于:Base baseObj = new Child();父类的引用指向子类的实例,子类又重写了父类 的 test 方法,因此调用子类的 test 方法。
4.What will be the output when you compile and execute the following program. class Base {
static void test()
{ System.out.println(\); }
}
public class Child extends Base { void test()
{ System.out.println(\Base.test(); //Call the parent method }
static public void main(String[] a) {
new Child().test();
}
}
Select most appropriate answer. A Child.test() Base.test()
B Child.test() Child.test()
C Compilation error. Cannot override a static method by an instance method D Runtime error. Cannot override a static method by an instance method 解答:C
静态方法不能在子类中被重写
5.What will be the output when you compile and execute the following program. public class Base{ private void test()
{ System.out.println(6 + 6 + \}
static public void main(String[] a) {
new Base().test();
}
}
Select most appropriate answer. A 66(Result)
B 12(Result)
C Runtime Error.Incompatible type for +. Can't convert an int to a string. D Compilation Error.Incompatible type for +. Can't add a string to an int. 解答:B
字符串与基本数据类型链接的问题,如果第一个是字符串那么后续就都按字符串处理,比如上边例子要
是 System.out.println(\+ 6 );那么结果就是(Result)66,如果第一个和第二个。。。 第 n 个都是基本数据第 n+1 是字符串类型,那么前 n 个都按加法计算出结果在与字符串连接 6..What will be the output when you compile and execute the following program. The symbol ’
? ’ means space.
1:public class Base{
2:
3: private void test() {
4:
5: \
String aStr = \? One? String bStr = aStr; aStr.toUpperCase(); aStr.trim();
System.out.println(\
6:
7:
8:
9:
7: } 8:
9: static public void main(String[] a) {
10: new Base().test();
11: }
12: }
Select most appropriate answer. A [ONE,? One? ] B [?? ,One]
One
C [ONE,One] D [ONE,ONE]
E [? One? ,? One? ]
解答:E
通过 String bStr = aStr;这句代码使 bStr 和 aStr 指向同一个地址空间,所以最后 aStr 和 bStr 的结
果应该是一样,String 类是定长字符串,调用一个字符串的方法以后会形成一个新的字符串。 7.下面关于变量及其范围的陈述哪些是不正确的(
):
A.实例变量是类的成员变量 B.实例变量用关键字 static 声明 C.在方法中定义的局部变量在该方法被执行时创建 D.局部变量在使用前必须被初始化 解答:BC
由 static 修饰的变量称为类变量或是静态变量
方法加载的时候创建局部变量
8.下列关于修饰符混用的说法,错误的是( ): A.abstract 不能与 final 并列修饰同一个类 B.abstract 类中可以有 private 的成员 C.abstract 方法必须在 abstract 类中 D.static 方法中能处理非 static 的属性 解答 D
:静态方法中不能引用非静态的成员
9.执行完以下代码 int [ ] x = new int[25];后,以下哪项说明是正确的(
):
A、
x[24]为 0 x[24]未定义 x[25]为 0 x[0]为空
B、
C、
D、
解答:A
x 属于引用类型,该引用类型的每一个成员是 int 类型,默认值为:0
10.编译运行以下程序后,关于输出结果的说明正确的是 (
):
public class
Conditional{
public static void main(String args[ ]){
int x=4;
System.out.println(“value is “+ ((x>4) ? 99.9 :9));
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库JAVA企业面试题集(带答案)-旧版在线全文阅读。
相关推荐: