首页 > 其他 > 详细

笔试基础

时间:2019-11-13 17:03:28      阅读:57      评论:0      收藏:0      [点我收藏+]

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

静态方法不能在子类中被重写

笔试基础

原文:https://www.cnblogs.com/dingpeng9055/p/11850430.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!