问个关于java接口的简单问题 类implement 接口DoerFriend中实现了doYourThingnext.doYourThing();其实就是调用Friend.doYourThing()(理论可能不对,可以这样理解) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public Friend(Doer next, boolean direct) { this.next = next; this.direct = direct; }对象的构造函数中需要对next作初始化,传入一个实现了接口Doer的对象。看样子,应该是后一个参数direct表示是否next已指向正确的对象。 哪个地方显示了实现接口Doer了呢?还有如果说是调用Friend.doYourThing()那为什么不写成private Friend next呢? 在类中实现了doYourThing()方法的定义,而且一定是要public的 接口不能实现接口对象,但是可以声明接口变量。next.doYourThing()调用的是构造函数中传递过来的对象的方法,该对象实现了Doer 接口。 Doer是接口,可能有很多会有一个或多个类都实现它。用private Doer next的话, 每个implement Doer的类的object都可以用来添加这个鍡链表中(从Friend的构造函数可以看出它是实现一个链表的功能)。 这种用法很常见啊,建议楼主看一下《JAVA与模式》,其中有一个规则叫做“依赖倒转原则”比较深入的讲解了这个用法。 这里只是定义了一个变量,而没有进行构造。就是说next是一个实现了doer接口的对象而这个对象的实例化还要调用new Friend(),或另外的实现接口的类的构造函数。而在实现接口的类里doYourThing();一定已经实现了。有些乱?这样说吧Friend(Doer next, boolean direct)里Doer next的意思就是说。要传入一个对象,该对象已经实现了Doer接口,至于具体类型编译器就不要管了,反正我这里只用接口定义的方法。 关于OutputStream;InputStream的flush()方法 用Java语言载入图片时路径如何设置 着急哇!如何获得wmv视频的播放时间? 关于jScrollPane1的显示问题?奇怪奇怪 环境变量的设置问题,请高手赐教 有关包的错误 新手安装Eclipse和JRE遇到得问题? 问一个applet向servlet提交的问题 怎样设置JTable的颜色??? APPLET在运行的时候有权限限制吗,如果有应该怎样接触? 在Linux下该如何访问Windows分区下的数据?急 假如再有人顶"java有什么难学的?偶一周之内就能精通它"这个吸引眼球的贴,谁就是个傻子
this.next = next;
this.direct = direct;
}
对象的构造函数中需要对next作初始化,传入一个实现了接口Doer的对象。看样子,应该是后一个参数direct表示是否next已指向正确的对象。
next.doYourThing()调用的是构造函数中传递过来的对象的方法,该对象实现了Doer 接口。