软件设计师下午题笔记(5)java类大题

java类挖空:

分类:

(1)开头挖空——看子类和父类是什么关系?

分析考点:
①所在是否为抽象类(abstract)?(抽象类的判断:看后面的子类是否继承了该类,标志为extends

②所在是否为接口(interface)?(接口的判断:接口需要实现,标志为implements

可参考:
abstract class和interface的区别


(2)抽象类(abstract class)内部挖空

分析考点:
①方法内赋值:看见类似public void setPizzaBuilder(AAA aaa) {答案很可能是 this.aaa=aaa;或者是this开头 }

②填写方法名
一般在后面的子类中,会再次出现该方法。
方法名和返回类型很容易确定,但是需要确定该方法是否为抽象方法:

抽象方法:多个该抽象类的子类可能会有不同的实现
普通方法:实现基本一致

③创建一个类的引用、申明对象

可参考:
java 申明对象和new一个对象如: People peple和People people=new People()


(3)接口(interface)内部挖空

和抽象类内部挖空相似,接口内挖空的一般需要定义方法/常量,而方法名是可以在后面代码中的implements中找到的。

特别需要注意的是:
①定义接口中的方法时,不能漏了参数。(参数可能需要填写,也可能不需要。此处参数的填写,请参考后面方法的具体实现中的参数)

②定义接口中的方法时,方法类型需要参考后面方法的具体实现(不是所有的方法类型都可以无脑写public void/int…)

【以上两点可参考12年下半年的下午题6】


(4)实现类内部挖空

考点:
①类的实例化
注意:
抽象类不能实例化!(对象实例化可以选取继承自抽象类的子类)

一般使用new来实例化。


②假设接口的定义(interface)前有一个类A(类A中定义了一些变量和方法)
而在后面接口的实现中(implements)中又实例化了类A。
此时,如果不知道这个接口的实现中,被挖空的方法名写什么,则要考虑这里是否使用到了类A的方法?

(特别注意:注意调用类的方法的代码的写法:对象名.方法名(参数)

【这一点可参考18年上半年的下午题6:空(3)、(4)】

(5)整段挖空

这种情况下,一般需要填写一个抽象类/接口的定义。

具体要写的是抽象类or接口?根据以下两点判断:
(1)看题中一开始给的UML图,找出聚合、组合、依赖关系
(2)看代码段前后出现的是extends,还是implements?


搭建出外部框架(抽象类or接口)后,里面需要填写的也就是方法or属性了,具体可以参考本篇(2)(3)点。


(Finally)一些补充

java中this用法总结

参考:
https://www.it610.com/article/1283335050271670272.htm

猜你喜欢

转载自blog.csdn.net/weixin_43616639/article/details/109300878
今日推荐