为什么接口对象直接可以调用接口中的方法?

erzhanz2 2015-08-17 06:57:09
今天做web开发遇到了一个奇怪的问题,有一个接口类MemberService,有一个接口类的实现类MemberServiceImpl,MemberService中有一方法fun();现在有一个MemberService的对象memberService,为何出现这条语句:
memberService.fun();中间仔细找了,没看到memberService=new MemberServiceImpl()这样的语句。请高手指教
...全文
560 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sticker_maddie 2017-09-15
  • 打赏
  • 举报
回复 1
动态代理 自动实例化对象
秦家小小神 2017-07-16
  • 打赏
  • 举报
回复
我今天学习策略模式的时候也发现了类似的问题。
package strategyMode;

import strategyMode.imp.FlyWithWing;

public class Test {
	/**
	 * 同包下的接口方法可以直接创建对象来调用而无需实现
	 * 但是main中调用fly()会报空指针异常,所以这个发现没有卵用。。
	 * 想要调用其子类的方法,还是得导入这个接口的子类并实例化
	 */
//	private FlyingStrategy flyingStrategy;
//	public void fly(){
//		flyingStrategy.performFly();
//	}
	
	private FlyingStrategy flyingStrategy = new FlyWithWing();
	
	public void fly(){
		flyingStrategy.performFly();
	}
	
	public static void main(String[] args) {
		
		Test t = new Test();
		t.fly();
	}
	
}
所以楼主的那条语句是可以出现的,不会有编译错误。但不知道楼主具体是怎么调用的?
Yaphets_VJ 2015-08-19
  • 打赏
  • 举报
回复
spring IOC容器管理 ,已经把对象实例化了。。
erzhanz2 2015-08-18
  • 打赏
  • 举报
回复
最后自己弄明白了 原来是 spring机制
erzhanz2 2015-08-17
  • 打赏
  • 举报
回复
引用 1 楼 u011157055 的回复:
跟jquery一个原理吧
请问能说的具体点吗
erzhanz2 2015-08-17
  • 打赏
  • 举报
回复
请问能说的具体点吗
哎_干嘛呢 2015-08-17
  • 打赏
  • 举报
回复
跟jquery一个原理吧
内容概要:本文深入探讨了利用MPC(模型预测控制)算法在Carsim2019仿真环境实现定速巡航和跟随巡航功能的方法。文首先介绍了MPC算法的基本原理及其在速度追踪控制的应用,随后阐述了分层控制结构的设计思路,即上层MPC算法负责计算期望加速度,而下层控制则通过发动机逆模型和制动器逆模型将期望加速度转化为具体的节气门开度和制动主缸压力。接着,文章详细描述了在Simulink和Matlab2021b环境下构建控制系统模型的具体步骤,包括模型参数的设定和调整。最后,通过对仿真的结果进行了分析,验证了所提出方法的有效性,并提出了未来的研究方向。 适用人群:从事汽车工程、自动化控制领域的研究人员和技术人员,尤其是对MPC算法和汽车速度追踪控制感兴趣的学者。 使用场景及目标:适用于希望深入了解并掌握MPC算法在汽车速度追踪控制具体应用的研究人员。目标是通过理论与实践相结合的方式,帮助读者理解MPC算法的工作机制,掌握Simulink和Carsim2019的联合仿真技巧,最终能够在实际项目应用这些技术。 其他说明:文件提供了完整的mpc代码、simulink模型、Carsim模型及相关参考文献,有助于读者快速入门并在实践不断优化自己的研究成果。

87,995

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧