如果UsersDaoImpl 是接口UsersDao的实现类,那么
UsersDao dd = (UsersDao)(Object)UsersDaoImpl.class;
中
UsersDaoImpl.class是Class类型的,父类是Object
根本就跟UsersDao没有直接的继承关系,为什么可以直接强转成UsersDao呢
UsersDao dd = (UsersDao)(Object)UsersDaoImpl.class;
中
UsersDaoImpl.class是Class类型的,父类是Object
根本就跟UsersDao没有直接的继承关系,为什么可以直接强转成UsersDao呢
http://topic.csdn.net/u/20091209/00/909a12a5-7c05-4fc9-9443-fa52d0d4037f.html?49294
* @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)