com包下有个dog类 都是获得类对象 通过newInstance() 返回值为什么不同 向高人请教权威解释执行过程  谢谢 
        1 Class c=Class.forName("com.dog");
Object o = c.newInstance();//这个返回Object 类型

2 Object ot=dog.class.newInstance(); //这个返回Object 类型

3 dog d=new dog();
dog dg = d.getClass().newInstance(); 这个返回dog 类型

解决方案 »

  1.   

    你的
    http://topic.csdn.net/u/20090330/20/b48cca3b-cf38-409b-aae5-404937a08e73.html
    上一个还没结贴呢,这里又发,不厚道呀
      

  2.   

    Class是一个泛型类,你的问题都可以改成如下1.Class<dog> c=(Class<dog>)Class.forName("com.dog"); 
    dog d = c.newInstance();//这个返回dog 类型 2.dog ot=dog.class.newInstance(); //这个返回dog类型 
    直接返回的就是dog类型3.不用解释了顺便说一句,大哥,类名第一个字母大写好不好!
      

  3.   

    我还是一个Java的初学者呢?
    不是说Java和C的语法差不多吗?开始的时候还觉得有点像,现在都觉得差别挺大的嘛?
      

  4.   

    答:还是DalinJava兄弟厉害,连哪一个贴子没有结,都记得一清二楚!
      

  5.   

    Java最多是类C语言,语法上差不多,但是涉及到Java类库上的话差得就很多了。
    另外你的问题其实没什么可以更深入讨论的,API就是做成了这个样子