日期:2014-05-20  浏览次数:20764 次

Class类,使用Class实例一个对象
Java code

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
  错误是在哪里?


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

我这里加上包名就运行正确了。