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
错误是在哪里?
Circle circle=(Circle)cu.newInstance();
不知道楼主这么做是何意,其实你Circle已经直接用了,在运行Try的时候Circle就会自动加载的。
forName需要完整的包名和类名的
forName需要完整的包名和类名的 正解 我试了 要么楼主 直接用实例化一个Circle对象 就行了