帮我看一个程序,我刚学JAVA,遇到了一个问题,先谢了
class ClassTest
{
public static void main(String[] args)
{
Point pt=new Point();
Class c1=pt.getClass();
System.out.println(c1.getName());

try
{
Class c2=Class.forName("Point");
System.out.println(c2.getName());
}
catch(Exception e)
{
e.printStackTrace();
}
Class c3=Point.class;
System.out.println(c3.getName());

Class c4=int.class;
System.out.println(c4.getName());

Class c5=Integer.TYPE;
System.out.println(c5.getName());

Class c6=Integer.class;
System.out.println(c6.getName());

}
}
class Point
{
int x,y;
void output()
{
System.out.println("x="+x+","+"y="+y);
}
}结果调试的时候这个语句发生了System.out.println(c2.getName());这句话会执行不是发生异常了,Try后面的话不会执行了,就到Catch语句里去了

解决方案 »

  1.   

    Class c2=Class.forName("Point"); 
    System.out.println(c2.getName()); 
    这段代码没有什么不对的啊。
    Point是你定义的一个类
    Class.forName("Point")就是用来动态加载Point类
    把Point.class文件放入缓存Class c2=Class.forName("Point");        //加载类
    Point point = (Point)c2.newInstance();  //实例化对象,这两行等同于Point point = new Point();
      

  2.   

    完全没看懂 LZ的“结果调试的时候这个语句发生了System.out.println(c2.getName());这句话会执行 不是发生异常了”这句话是什么意思所以帮不上忙啊
      

  3.   

    在Try代码第一句里就发生了异常,Class c2=Class.forName("Point"); 
    那么后面的那句话System.out.println(c2.getName());就不应该执行了,到跳到catch 里执行不是这样的吗
      

  4.   

    Class c2=Class.forName("Point"); 这句话会发生异常,所以我放在Try 语句里,但是Try后面的语句不会执行就会到Catch 语句里去,是这样吧