JAVA企业面集(带)-旧版答题.doc
文本预览下载声明
一. 选择题(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(Base.test());
}
}
public class Child extends Base { void test() { System.out.println(Child.test());
}
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(Base.test());
}
}
public class Child extends Base {
void test() { System.out.println(Child.test()); 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 + (Result));
}
static public void main(String[] a) {
new Base().test();
}
}
Select most appropriate answer. A 66(Result)
B 12(Result)
显示全部