草莓布叮 2018-10-10 06:08 采纳率: 0%
浏览 472

求解答:装饰者模式去除掉抽象装饰类为什么会出现线程出现栈溢出

public class aaa {
public static void main(String[] args) {
Drink coffe = new Coffe();
Drink suger = new Suger(coffe);
System.out.println(suger.info()+"-->"+suger.cost());

}

}
//抽象组件
interface Drink{
double cost();//费用
String info();//说明
}
//具体组件
class Coffe implements Drink{
private String name = "原味咖啡";
@Override
public double cost() {
return 10;
}

@Override
public String info() {  
    return name;
}

}

//具体装饰类

class Suger implements Drink{

private Drink drink;
public Suger(Drink drink) {
    this.drink = drink;
}

@Override
public double cost() {
    return this.cost()*2;
}

@Override
public String info() {
    return this.info()+"加入了糖";
}

}

展开全部

  • 写回答

1条回答 默认 最新

  • threenewbee 2018-10-10 20:33
    关注

    函数自己调用自己,造成了无限递归

    评论
    编辑
    预览

    报告相同问题?

    悬赏问题

    • ¥15 宝塔面板一键迁移使用不了
    • ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
    • ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
    • ¥20 四叉树的创建和输出问题
    • ¥15 javaweb连接数据库,jsp文件加载不出来
    • ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
    • ¥15 损失匹配问题,求解答
    • ¥15 3500常用汉字书法体检测数据集下载
    • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
    • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部