A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

比如ITest it = new ITestImpl();这个直接使用 ITestImpl it = new ITestImpl();好像也能实现效果呢,两种有什么区别?

2 个回复

倒序浏览
ITestImpl 是接口的实现类,实现了这个接口,所以可以直接new
他的实现应该是这个样子的 class ITestImpl  implements ITest{}
是一个类,可以new出对象
ITest是接口,不能直接生成对象,不能new
他是interface ITest{}不能new
ITest it = new ITestImpl();属于向上转型,it.方法名,调用的子类的方法
ITestImpl it = new ITestImpl();就是正常生成一个对象 it.方法名,调用的是自己的方法
回复 使用道具 举报
qxc1281 发表于 2015-6-27 11:53
ITestImpl 是接口的实现类,实现了这个接口,所以可以直接new
他的实现应该是这个样子的 class ITestImpl  ...

嗯,明白了。谢谢指点。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马