class Circle{
private double redius,area,lenth;
public double getArea(){
return Math.PI*redius*redius;
}
public double getLength(){
return 2*Math.PI*redius;
}
public void setRedius(double redius){
this.redius=redius;
}
}
public class Try {
public static void main(String[] args) {
try{
Class cu=Class.forName("Circle");
Circle circle=(Circle)cu.newInstance();
circle.setRedius(100);
System.out.println("圆的面积为:"+circle.getArea());
System.out.println("圆的周长为:"+circle.getLength());
}
catch(Exception e){
System.out.println("不能加载"+e.getMessage());
}
}
}  运行的结果应该是circle的面积和周长,可是运行的结果是:不能加载Circle
  错误是在哪里?

解决方案 »

  1.   

    Class cu=Class.forName("Circle"); 包名是否正确。
    Circle circle=(Circle)cu.newInstance();
    不知道楼主这么做是何意,其实你Circle已经直接用了,在运行Try的时候Circle就会自动加载的。
      

  2.   

    e.getMessage()打印出来的是什么
    forName需要完整的包名和类名的
      

  3.   

    我就是把它放进Circle的包里了,但是结果还是一样啊。
      

  4.   

    我就是把它放进Circle的包里了,但是结果还是一样啊。
      

  5.   

    这个时候你得把你出错的详细信息贴出来,还有你的包结构,如果你的Circle在其它包里的话记得加上public
      

  6.   


    forName需要完整的包名和类名的  正解 我试了  要么楼主  直接用实例化一个Circle对象 就行了