public class G3
{
/* public static void action(){ 
Test test = new Test(); 
test.deal(); 
} */
public static Class action(String str){ 
Class ass = null;
try
{
ass = Class.forName(str);
} catch (ClassNotFoundException e)
{
e.printStackTrace();
}//实例话一个类名为str的对象 
return ass;
}  static class Test
{
public void deal()
{
System.out.println("love");
}
}
public static void main(String[] args)
{
Class a = action("Test");
Test b = (Test)a;

}
}
请说明下理由,OK?

解决方案 »

  1.   

    Test test = new Test();static class Test 

    public void deal() 

    System.out.println("love"); 


    public static void main(String[] args) 

    Class a = action("Test"); 
    Test b = (Test)a; } 
    } 静态类不能被实例化
      

  2.   

    实例化不是这样做滴。Test t= (Test)Class.forName("Test").newInstance();
      

  3.   

    刚才没看请楼主的代码(这排版看不清!),下面是一个例子:package tests;/**
     * 实例化内部类
     */
    public class TestInnerClass {    public static void main(String[] args) throws Exception {
            Inner1 i1 = (Inner1) Class.forName("tests.TestInnerClass$Inner1").newInstance();
            Inner2 i2 = (Inner2) Class.forName("tests.TestInnerClass$Inner2").newInstance();
            Inner3 i3 = (Inner3) Class.forName("tests.TestInnerClass$Inner3").newInstance(); // error
        }
        public static class Inner1 {    }    static class Inner2 {    }    class Inner3 {    }
    }