创建一个对象的问题
来源: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
同学你好,上面同学解释的是正确的,这里是接口的引用指向实现类,跟一阶段多态作业题中的实现类似,如
1、并不是强制限制必须使用Command command= new Command ();,如果想使用ArrayList中的属性,将其定义为QueryCommand command = new QueryCommand();也是可以的
2、通过接口来接收实现类对象,如果接口有多个实现类,这样写也可以接收其他实现类对象;现在使用的是QueryCommand,当需要更改为其它的实现类时,这时只改变这一行就可以;这样写的好处是便于程序代码的重构,这在开发中也是非常常用的一种形式!
祝学习愉快~
慕数据5234972
2021-03-31
最浅显的作用:实现类类型 变量 = new 实现类(); 至少改代码只需改 new 的那部分,而不用改类型
再就是多态,代码复用,根据接口统一管理
相似问题