创建一个对象的问题

来源:3-1 实现按部门查询员工功能

pleine

2021-03-31 21:45:03

老师您好
Command command
= new QueryCommand();
command.execute();
不应该是用一个类创建对象嘛?
比如
QueryCommand command = new QueryCommand();
command.execute();

可以用接口创建类嘛?
两种有什么区别?

写回答

2回答

好帮手慕阿园

2021-04-01

同学你好,上面同学解释的是正确的,这里是接口的引用指向实现类,跟一阶段多态作业题中的实现类似,如

http://img.mukewang.com/climg/60653632098f675902640036.jpg

1、并不是强制限制必须使用Command command= new Command ();,如果想使用ArrayList中的属性,将其定义为QueryCommand command = new QueryCommand();也是可以的

2、通过接口来接收实现类对象,如果接口有多个实现类,这样写也可以接收其他实现类对象;现在使用的是QueryCommand,当需要更改为其它的实现类时,这时只改变这一行就可以;这样写的好处是便于程序代码的重构,这在开发中也是非常常用的一种形式!

祝学习愉快~


0

慕数据5234972

2021-03-31

最浅显的作用:实现类类型 变量 = new 实现类(); 至少改代码只需改 new 的那部分,而不用改类型

再就是多态,代码复用,根据接口统一管理

0

0 学习 · 16556 问题

查看课程