Java程序员面试笔试宝典刷题总结~04

    虽然申请博客已经有一段时间了,却是第一次写博客,有点激动,不知道该写些什么,刚好大三老学姐正值找实习工作之际,每天都会刷一点题,现在在看Java程序员面试笔试宝典一书,刚好把里面的题每天总结5道,写在博客里,一来自我督促,保持每天都会刷题,二来自我加深印象,三来可以省去大家的整理时间,如果能对朋友们有那么一点点的帮助,我也会开心很久的吐舌头小白渣渣,欢迎大家指正,也欢迎转发给需要的小伙伴们,只需指明出处就好!

    啦啦啦,每天进步一点点奋斗

正文正文正文啦啦啦啦:

Java基础知识:

16,下列有关继承的说法中,正确的是()    

A, 子类能继承父类的所有方法和状态

B, 子类能继承父类的非私有方法和状态

C, 子类只能继承父类public方法和状态

D,子类能继承父类的方法,而不是状态

参考答案: B。

    继承主要特性:

扫描二维码关注公众号,回复: 942090 查看本文章

        1)Java语言不支持多重继承,也就是说,子类至多只能有一个父类,但是可以通过实现多个接口来达到多继承的目

        2)子类只能继承父类的非私有(public和protected)成员变量与方法。所以,A,C,D,×;B,√。

        3)当子类中定义的成员变量和父类中定义的成员变量同名时,子类中的成员变量会覆盖父类中的成员变量,而不会继承。

        4)当子类中的方法与父类中的方法有相同的函数签名(相同的方法名、相同的参数个数与类型)时,子类将会覆盖父类的方法,而不会继承。

17,Java中提供了哪两种用于多态的机制?     

答:编译时多态和运行时多态。编译时多态是通过方法的重载实现的,运行时多态是通过方法的覆盖(子类覆盖父类方法)实现的。

18,如下代码的运行结果是什么? 

class Super{

       publicint  f() {

              return1;

       }

}

public class SubClass extends Super{

       publicfloat f(){

       return 2f;

}

       publicstatic void main(String[] args) {

              Supers=newSubClass ();

System.out.println("Test main");

       }

}

参考答案:编译时错误。因为函数是不能以返回值来区分的,虽然父类与子类中的函数有着不同的返回值,但是它们有着相同的函数名,因此,编译器无法区分。

19,下列关于接口的定义中,正确的是()    

A, void  methoda();

B, public double methoda();

C, public final double methoda();

D,static voidmethoda(double d1);

E, protected void methoda(double d1);

F, int a;

G, int b = 1;

参考答案:A、B、G。接口中的方法只能用关键字public和abstract来修饰,因此,C,D,E,×。接口中的属性默认都为public static final ,由于属性被final修饰,因此它是常量,常量在定义时就必须初始化,因此,F,×。

20,下列说法中正确的是()    

A. 声明抽象方法大括号可有可无

B. 声明抽象方法不可写出大括号

C. 抽象方法有方法体

D.abstract可修饰属性、方法和类

参考答案:B。抽象方法不能有方法体,同理也就不能有大括号。所以,A,C,×。;abstract只能用来修饰类与方法,不能用来修饰属性,所以,D,×。








注:参考Java程序员面试笔试宝典(PS:这里只是总结摘抄一部分题,建议有精力的同学可以去看看书哈,那里更全面。)


猜你喜欢

转载自blog.csdn.net/adminwanglua/article/details/80296990