> 文档中心 > Java笔试强训错题本之选择题篇(持续更新)

Java笔试强训错题本之选择题篇(持续更新)

⭐️前面的话⭐️

普普通通的错题本,没有什么特别之处,记录java相关选择题错题或者蒙对的题,以便复习。

📒博客主页:未见花闻的博客主页
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📌本文由未见花闻原创,CSDN首发!
📆首发时间:🌴这个并不重要🌴
✉️坚持和努力一定能换来诗与远方!
💭参考书籍:📚《有关Java的书可能会参考》
💬参考在线编程网站:🌐牛客网🌐力扣
博主的码云gitee,平常博主写的程序代码都在里面。
博主的github,平常博主写的程序代码都在里面。
🍭作者水平很有限,如果发现错误,一定要及时告知作者哦!感谢感谢!


📌导航小助手📌

  • ✂️2022年4月30日更新

Java笔试强训错题本之选择题篇(持续更新)


✂️2022年4月30日更新

下列选项中属于面向对象设计方法主要特征的是( )。
A 继承
B 自顶向下
C 模块化
D 逐步求精

他的回答: C (错误)
正确答案: A
参考答案: 参面向对象基本方法的基本概念有对象、类和实例、消息、继承与多态性,所以选择 A 。

Java笔试强训错题本之选择题篇(持续更新)
总结:概念题,现在清楚了。


方法通常存储在进程中的哪一区()
A 堆区 B 栈区 C 全局区 D 方法区
他的回答: A (错误)
正确答案: D
Java笔试强训错题本之选择题篇(持续更新)

参考题目链接:https://www.nowcoder.com/questionTerminal/e653b41fd6544392ab3302413f4a5b2f?toCommentId=1254393
总结:忘记了,哎,附张图。
Java笔试强训错题本之选择题篇(持续更新)


Java笔试强训错题本之选择题篇(持续更新)
总结:这道题太坑了,使用引用null调方法,第一时间想到的的肯定是空指针异常吧,但是它调的是静态方法,调用另一个类的静态方法可以使用类名,也可以使用该类的引用调用,就算这个引用为null也可以调用。


Java笔试强训错题本之选择题篇(持续更新)
总结:this()与super()必须位于构造方法首行,那如果在同一个构造方法能够同时调用this()与super(),不就违背上述原则了。
super来引用父类对象,用this来引用当前对象。
⭐️相同点:

  • 均可以调用构造方法,但是两者不能同时出现在同一构造方法。
  • 调用某构造方法时必须放在另一个构造方法第一行。
  • 都不能放在静态方法中使用。

⭐️不同点:

  • 引用对象不同。
  • super()从子类中调用父类的构造方法,this()调用当前类的构造方法。

Java笔试强训错题本之选择题篇(持续更新)
总结:做这种代码推断题,先看有没有语法错误,再验证代码运行结果对不对,不论是静态方法还是非静态方法,方法里面不能定义静态变量,静态变量是属于类的只能定义在类中,所以你可以称静态变量为类变量,静态成员为类的成员。


Java笔试强训错题本之选择题篇(持续更新)

总结:父类private的成员变量,根据权限修饰符的访问控制范围,只有在类内部才能被访问,就算是他的子类,也不能访问。这里如果将Person p = new Child();改成 Person p = new Person();代码依然无法通过编译,因为子类作用域中访问不到父类的私有变量,无法为其生成正确的字节码。另外,一个Java文件中不能有两个public类。


Java笔试强训错题本之选择题篇(持续更新)
总结:子类构造实例对象时,先需要构造父类部分,这里由于父类的构造方法是含有参数的,因此子类构造方法中没有隐式构造父类部分,需要显示构造父类部分,即需要在子类对象构造方法第一行加上super(s)


Java笔试强训错题本之选择题篇(持续更新)
总结:这道题是有一点歧义的,接口不能被final修饰,因为被final修饰了,接口就不能被继承了,但接口的使命就是继承啊,void不能修饰接口和类。


Java笔试强训错题本之选择题篇(持续更新)
总结:B选项,因为final修饰的类不能被继承,因此不能拥有抽象方法,D项,抽象类的子类也是抽象类的时候,不需要实现父抽象类的所有方法,如果抽象类子类是普通类,则需要实现父类的所有抽象方法。


Java笔试强训错题本之选择题篇(持续更新)
总结:D选项,抽象类的使命确实是被继承,但是不代表说只能被继承,它可以不被继承,可以组合,E选项正确。


Java笔试强训错题本之选择题篇(持续更新)
总结:A是没有问题的,但是它声明的这个mian方法不是程序最开始进入的那个main方法,CD都是对的,B选项不对,因为接口的使命是被继承,如果方法声明私有,就不能被重写了。


Java笔试强训错题本之选择题篇(持续更新)
总结:B选项,它说是“用来”,不是“只用来”,所以B选项没有错,C选项,方法是不可重写或不可覆盖,不能说成不可继承,类与类之间才有继承关系。


Java笔试强训错题本之选择题篇(持续更新)
总结:最终类也叫做密封类,也就是被final关键字修饰的类,所以最终类不能被继承,D选项错误。


Java笔试强训错题本之选择题篇(持续更新)
总结:抽象类中的抽象方法不能被final修饰,被final修饰的方法不能被重写,而抽象类的使命是被继承,继承需要重新抽象类中所有抽象方法,所以B选项是错误的。另外抽象类不能被final修饰,所以A选项错误,抽象类中的抽象方法只能声明,所以C选项错误。


Java笔试强训错题本之选择题篇(持续更新)
总结:double变量也是可以被赋值十六进制的整数的,所以D选项正确,byte变量的范围是0-127,128溢出了,所以E选项错误。


Java笔试强训错题本之选择题篇(持续更新)
总结:代码执行顺序为父类静态代码块,子类静态代码块,父类构造方法,子类构造方法,所以该题选C。


Java笔试强训错题本之选择题篇(持续更新)
Java笔试强训错题本之选择题篇(持续更新)
总结:这道题需要耐心地去做,我做这道题的时候绕了好久,虽然做对了,但是依然值得回味,需要注意的一点是当try语句块和finally语句块均有return时,finally里面的return会覆盖掉try里面的语句块。


Java笔试强训错题本之选择题篇(持续更新)

总结:这道题需要注意一个点,就是静态变量赋值与静态代码快执行的顺序是按照代码的书写顺序进行,静态代码块执行完毕才会执行main方法,因此获取cnt的值时,首先cnt被赋值为6,然后执行第一句静态代码块,cnt此时为15,最后执行第二个静态代码块,cnt的值为5,所以选择A。


觉得文章写得不错的老铁们,点赞评论关注走一波!谢谢啦!

1-99

51银饰网