请问为什么interface可以做为一个对象返回呢? In Java, everything is an Object, including interface. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那么说我得到的应该是一个对象,我还是有一些不明白的地方(1)通过一个方法返回一个接口,这种编程方法,我理解肯定是先有一个实现这个接口的类,然后在把一个类的实例返回过来,从而只得到这个interface object? 这个问题应该这样解释,接口可以说是定义一种业务规则,例如你定义了一个接口,然后用一个类去继承这个接口,你就必须去实现接口里面的所有方法。至于你刚刚说的"返回一个interface类型的对象"这个就要用设计模式的来解释一下了返回一个interface类型的对象 这个一般来说是一种工厂模式,是为了更好的利用这个接口. 接口只是不能实例化的类 通过接口中定义了final static的变量和静态方法 这些变量和方法的调用不需要类实例化 所以有些方法返回接口就是为了调用其静态函数 interface A{}class B implements A{}A xx = new B(); //可以,因为这里返回的是B类的一个实例子,而B实现了A。这里A只做声明public A xx(){ return new B(); } //可以,道理同上 之所以这样做是因为实现接口A的类可能很多,可能是B或C或D,但你在一个方法里又不知道到底会返回哪个类的实例,这时候我们就用:public A xx(){} interface 和 abstract class的本质是一样的,定义返回的interface,实际上被返回的是哪个interface的子类 首次发帖,想问下java和GIS开发关系大不大 怎么连接access数据库 计算开方要导入什么类包? 对Miplatform知道的进来一下 c/s结构,Swing和socket的传输的问题和加载图片能够点击动态执行的问题(在线等) 除String类型外的其他类型右类似于charAt(n)功能的语句吗? jspSmartUpload里的Request的类为什么不能用 请问如何防止窗体被拖动? 关于Java认证考试 请问谁有SimpleChart这个组件的使用实例阿? 如何判断字符串中带有指定的字符串? 各们大尸凶请帮一下忙啊
至于你刚刚说的"返回一个interface类型的对象"这个就要用设计模式的来解释一下了返回一个interface类型的对象 这个一般来说是一种工厂模式,是为了更好的利用这个接口.
class B implements A{}A xx = new B(); //可以,因为这里返回的是B类的一个实例子,而B实现了A。这里A只做声明
public A xx(){ return new B(); } //可以,道理同上