• 全部
  • Java SE
  • Java EE
  • J2ME
  • IDE工具
  • 求助
  • 内推招聘
  • 问答

一个工厂方法的问题

IT那些事儿 2004-02-23 09:27:40
小弟最近正在研读java与模式。看到工厂方法并自己做了一个小例子已实现其思想。从中遇到了一个问题颇为不解。敢问那位高手可以给小弟指点迷津。不胜感激。
源代码是这样的:总共建了5个类:Creator,ConcreteCreator,Product,Product1,Client
抽象工厂类Creator:
public interface Creator
{
public Product factory();
}
具体工厂类ConcreteCreator:
public class ConcreteCreator implements Creator
{
public Product factory()
{
return new Product1();
}
}
抽象产品类:Product
public interface Product
{

}
具体产品类Product1:
public class Product1 implements Product
{
public Product1()
{
System.out.println("This is Product1.");
}
public void display()
{
System.out.println("This is product1 displayed.");
}
}
测试客户端Client:
public class Client
{
public Client(){}
public static void main(String[] args)
{
ConcreteCreator cc = new ConcreteCreator();
Product1 p = cc.factory();
p.display();//There is a error called: cannot resolve symbol:
//method display in interface Product at line 10;

}
}
问题就出在p.display()上。由于采用了依赖倒转原则,具体产品由它的抽象接口Product引用,但是引用以后,他却不具有display方法。小弟百思不得其解。我将cc.factory();用Product1强制类型转换也不能通过。我用的IDE环境是JBuilder9,jdk是jdk1.4
...全文
9 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复

还没有回复,快来抢沙发~

相关推荐
发帖
Java
创建于2007-09-28

4.7w+

社区成员

Java相关技术讨论
申请成为版主
帖子事件
创建了帖子
2004-02-23 09:27
社区公告
暂无公告