当前位置:编程学习 > wap >>

设计模式——工厂模式

--------------------编程问答-------------------- 怎么都没人帮忙,自己顶 --------------------编程问答-------------------- 请好好学习下spring或工厂模式,填写killer --------------------编程问答-------------------- 写少了,填写killer的实体类,也就是继承killer接口的类,填写killer1或者killer2,,, --------------------编程问答--------------------
引用 3 楼 heaimnmn 的回复:
写少了,填写killer的实体类,也就是继承killer接口的类,填写killer1或者killer2,,,

我知道是写killer1或者killer2    只是想问怎么写,因为直接填killer1或者killer2都会报错,所以我想问是不是应该填写killer1或者killer2的路径,但是,路径具体应该如何填写,我尝试了,但是都不对,所以才会来问的。 --------------------编程问答--------------------
引用 3 楼 heaimnmn 的回复:
写少了,填写killer的实体类,也就是继承killer接口的类,填写killer1或者killer2,,,

如果直接填“Killer1”,则报错:
Exception in thread "main" java.io.FileNotFoundException: Killer1 (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at pepper.com.KillerFactory.getKiller(KillerFactory.java:14)
at pepper.com.MainActivity.main(MainActivity.java:6) --------------------编程问答-------------------- 额  你的getKiller(String path)  换个参数啊   比如“killer1” “killer2” 或者定义成int类型也可以啊 int KILLER_1 = 1; --------------------编程问答-------------------- 这。。。你确定你的工厂类正确?? --------------------编程问答-------------------- 简单工厂可以这么修改:
public class KillerFactory {
    public static Killer getKiller(int i) {
    if (i == 1)
        return new Killer1();
    else (i == 2)
        return new Killer1();
    }
}
这仅仅是将对象的创建于对象本身进行分离。

========================================================
如果使用工厂模式,应该由不同的工厂创建不同的杀手,例如
public abstatc class KillerFactory {
    public abstatc Killer getKiller();
}

public class KillerFactory1 extends KillerFactory {
    public Killer getKiller() {
        return new Killer1();
    }
}

public class KillerFactory2 extends KillerFactory {
    public Killer getKiller() {
        return new Killer2();
    }
} --------------------编程问答-------------------- 要不就按楼上的修改代码,要不你就理解清楚Properties 是个啥,感觉像是读外部文件获取数据转换为KILLER子类
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,