logo资料库

最全的Java笔试题库之选择题篇-总共234道.doc

第1页 / 共107页
第2页 / 共107页
第3页 / 共107页
第4页 / 共107页
第5页 / 共107页
第6页 / 共107页
第7页 / 共107页
第8页 / 共107页
资料共107页,剩余部分请下载后查看
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) 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(“(Result)”+6 + 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?”; 6: String bStr = aStr; 7: aStr.toUpperCase(); 8: aStr.trim(); 9: System.out.println(“[" + aStr + "," + bStr + "]“); 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
分享到:
收藏