public class Parcel {
Parcel(){
System.out.println("Parcel...");
}

public void say(String s){
System.out.println("say invoke.");
}
}
--------------------------------------------------------------------------
在另一个类中:
Class<?> clazz = Class.forName("com..test.Parcel");
Constructor<?> con = clazz.getConstructor();
Object ob = con.newInstance();
执行会出错:
Exception in thread "main" java.lang.NoSuchMethodException: com..test.Parcel.<init>()
请问是什么原因啊?
Class<?>中的 <?> 是什么意思?

解决方案 »

  1.   

    任意class对象
    com..test.Parcel
    是不是多了个.
    应该是com.test.Parcel吧
      

  2.   

    出错原因见2楼的
    <?>是泛型的一种表达形式,?是通配符,代表某个特定类型。
      

  3.   

    你直接写Class clazz = Class.forName("com.test.Parcel"); 
      

  4.   

    二楼正解,插下代码import java.lang.reflect.Constructor;public class Test{ public static void main(String[] args) throws Exception{
    Class <?> clazz = Class.forName("Parcel"); 
    Constructor <?> con = clazz.getConstructor(); 
    Object ob = con.newInstance(); 
    }
    }
    class Parcel { 
    public Parcel(){ 
    System.out.println("Parcel..."); 
    }  public void say(String s){ 
    System.out.println("say invoke.");