今天碰到了一个问题,想在这里请教。
代码如下:
   Connection conn = DriverManager.getConnection(url,user,password);
   Statement stat = conn.createStatement();
我想请问:
    DriverManager.getConnection返回的是一个static Connection;
    Connection是一个接口,为什么不用重写它的方法呢?

解决方案 »

  1.   

    DriverManager.getConnection
    你说这个返回的是一个接口
    呵呵,这个不奇怪,返回的是一个实例化了的接口为什么不可以呢
    List list = new ArrayList();这两种是一样的
      

  2.   


    ArrayList是List的一个实现类,
    你说的这个例子不能说明问题
      

  3.   

    为什么要重写这个方法呀!
    这个接口又不是public Test implent Interface{
    }
      

  4.   

    我查了jdbc的源代码, DriverManager.getConnection返回的是一个static Connection, 
    而返回的这个Connection是一个实例化的接口,它的方法已经被重写了的.就像C++中的指针一样,已经指向了一个对象.
    就好像:
    List list1 = new ArrayList(); // 第一步
    List list2 = list1;           //第二步DriverManager.getConnection()里已经封装了类似"第一步"中的步骤Connection conn = DriverManager.getConnection(url,user,password); 即类似于第二步
      

  5.   


    不知道你说的static Connection是什么意思?源码中又哪里显示了这个static Connection