- 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就会自动加载的。
------解决方案--------------------
估计是没加包名吧。
我这里加上包名就运行正确了。