如果UsersDaoImpl 是接口UsersDao的实现类,那么
UsersDao dd = (UsersDao)(Object)UsersDaoImpl.class;

UsersDaoImpl.class是Class类型的,父类是Object
根本就跟UsersDao没有直接的继承关系,为什么可以直接强转成UsersDao呢

解决方案 »

  1.   

    因为UserDaoImpl就是实现了UserDao接口的类,UserDaoImpl.class是获得一个UserDao对象
      

  2.   

    1F不要误人子弟,去LZ的相同帖子:
    http://topic.csdn.net/u/20091209/00/909a12a5-7c05-4fc9-9443-fa52d0d4037f.html?49294
      

  3.   

    菜鸟飘过!!你的代码是错误的吧??Class怎么转型(UsersDao)(Object)这个东东
      

  4.   

    package cn.com.New;public class C { /**
     * @param args
     */
    public static void main(String[] args) {
    A a = (A)(Object)B.class; }}
    其中 A类等于UserDao  B 等于 UserDaoImpl   
    一运行就
    xception in thread "main" java.lang.ClassCastException: java.lang.Class cannot be cast to cn.com.New.A
    at cn.com.New.C.main(C.java:9)