为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复:令牌上的语法错误、错位的构造错误

如何修复:令牌上的语法错误、错位的构造错误

MM们 2021-09-26 18:14:13
通过在线 Java 视频教程按我的方式工作,但遇到了一些麻烦。教程涉及我几乎没有经验的复合设计模式。前两个教程进展顺利,第三个给我带来了问题。我已经向教程的讲师/创建者寻求帮助,但没有得到回复。编码示例与“解包框”有关,这是我为每个类/接口编写的代码:礼物:package composite;public class Gift implements SurpriseBox {    private String giftName;    public Gift(String name) {        this.giftName = name;    }    public void unWrap() {        System.out.println("Unwrapping gift: " + this.giftName);    }}惊喜盒:package composite;public interface SurpriseBox {    void unWrap();}惊喜礼盒package composite;import java.util.ArrayList;public class GiftSurpriseBox implements SurpriseBox {    private ArrayList<SurpriseBox> surpriseBoxes;    public GiftSurpriseBox() {        this.surpriseBoxes = new ArrayList<>();    }    public void add(SurpriseBox box){        this.surpriseBoxes.add(box);    }    public void remove(SurpriseBox box) {        this.surpriseBoxes.remove(box);    }    public void unWrap() {        surpriseBoxes.forEach(SurpriseBox::unWrap);    }}SurpriseBox 类,尤其是最后一行代码是我遇到问题的地方客户:package composite;public class Client {    public static void main(String[] args) {        GiftSurpriseBox giftBox = new GiftSurpriseBox();        GiftSurpriseBox subGiftBox = new GiftSurpriseBox();        Gift gift = new Gift("Toy Car");        Gift gift2 = new Gift("Toy Plane");        giftBox.add(gift);        subGiftBox.add(gift2);        giftBox.add(subGiftBox);        giftBox.unWrap();    }}我相信,由于对这里的想法是您正在创建礼物并将它们放入盒子中的主题知之甚少,SurpriseBox 具有子盒子,并且复合模式允许当您为父文件中的每个包裹调用 unwrap 时被打开。使用 ECLIPSE JUNO 并收到以下错误消息:标记上的语法错误,错位的构造 标记“:”上的语法错误,在此标记后预期 EnhancedForStatementHeaderInit不确定这是否与我的 JRE 有关,因为教程的创建者没有提供有关他的 JRE/编译器的信息
查看完整描述

2 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

问题是我使用的 ECLIPSE IDE。我已经更新到 Photon 并且一切正常。


查看完整回答
反对 回复 2021-09-26
  • 2 回答
  • 0 关注
  • 208 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信