在写程序的时候,有许多接口是直接用的,不知道是调用的哪个实现类的方法 ,谁能解释一下?谢谢了 !比如:  写jdbc的时候,  Connection, ResultSet, Statement 这都是接口,却能直接用里面生命的方
法,到底是调用的哪个实现类的方法呢  ?

解决方案 »

  1.   

    想知道实现
    System.out.println(conn.getClass());
      

  2.   

    这涉及到一个概念“后期绑定”,即对象类型在运行期而不是编译期确定。
    可使用 实例名.getClass().getName() 获得运行期的类名。
      

  3.   

    这个很难说一个interface如果定义一个方法void doSomething()
    它的实现类A实现此方法
    A的子类B重写了
    B的子类C没有重写
    那么最终实现的就是B中的那个写法
    你从最外层一层一层往里查,查到的第一个由实现方法的就是了