java中的main方法是静态的,用于程序的入口,在静态方法中无法调用非静态方法,只能调用静态方法。想调用非静态方法的话就要先生成该类的一个对象,通过对象调用非静态方法。
一句话:静态的不能访问非静态的,而非静态的可以访问静态的并且可以访问非静态的。
同时:静态的方法是可以通过类名来直接调用,无需对象调用,从而减少了实例化的开销。
如:
public class Circle {
/**
* @param args
*/
private double radius;
//构造方法
Circle(){
radius=0;
}
Circle(double r){
radius=r;
}
//成员方法
double getArea(){
return Math.PI*radius*radius;
}
double getPerimeter(){
return 2*Math.PI*radius;
}
void disp(){
System.out.println("圆的半径为:"+radius);
System.out.println("圆的周长为:"+getPerimeter());
System.out.println("圆的面积为:"+getArea());
}
public static void main(String[] args) {
Circle r=new Circle(10.0);//创建类的对象调用上述非静态方法。
r.disp();
}
}