一个工厂方法的问题

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
...全文
32 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧