看这个例子,有些问题要问:
--------接口
package org.com; 
public interface Db {
public String openDB(String url,String user,String password);
public void close();
}-------类
package org.com;
public class Mysql implements  Db{
public String  openDB(String a,String b,String c)
   {
        return a+b+c;
   }
public void close()
   {
       System.out.println("sql数据库已经关闭!");
   }
}-----工厂
package org.com;public class DBFactory {
    public static String getconn()
      {
     return(new Mysql().openDB("a","b","c"));
      }
    
    public static void colse(){
     new Mysql().close();
    }
}-------放jsp里
<%
String ttt=DBFactory.getconn();
System.out.println(ttt);
DBFactory.colse();
%>这个例子比如就是能够在多个数据库间移植的一段代码,
可是我上边的那个类Mysql implements  Db  继承了Db接口,
我这时把implements  Db 去掉,也行啊,也可以通过的,那何必又要有个Db接口啊,
请教...............

解决方案 »

  1.   

    楼主的工厂类有问题:工厂方法是用来生成对象的,不是用来调用对象的方法的,一般做法是:
    -----工厂
    package org.com;public class DBFactory {
        public static Db getDb()
          {
         return(new Mysql());
          }
    }调用这个工厂的getDb方法就可以得到一个Db接口的对象,然后调用这个对象的方法:Db currentDb = DBFactory.getDb();
    currentDb.openDB("a", "b", "c");
    ...
    currentDb.close();这样这个接口就有用了……希望能对楼主有用,^_^