失效链接处理 |
最新企业笔试面试题大全 PDF 下载
本站整理下载:
提取码:r6w5
相关截图:
主要内容:
1.1 选择题
1.1.1java 基础
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()
5 / 237
6 / 237
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 / 237
10: }
11:
12: static public void main(String[] a) {
13: new Base().test();
14: } 15: }
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.下面关于变量及其范围的陈述哪些是不正确的( ):
|