与静态变量相似,用static修饰符修饰的方法属于类的静态方法,又称为类方法。静态方法的实质是属于整个类的方法,而不加static修饰的方法是属于某个具体对象的方法。
一个方法生声明为static有以下几重含义:
示例如下:利用圆柱体类Cylinder来介绍静态方法的使用
定义一个Cylinder类
public class Cylinder { private static int num=0; private static double PI=3.14; private double r; private int height; public Cylinder() { } public Cylinder(double r, int height) { this.r = r; this.height = height; num++;//当构造方法Cylinder()被调用时,num加1; } public static void count(){ //声明count()为静态方法 System.out.println("创建了"+num+"个对象"); } public double area(){ return PI*r*r; } public double volume(){ return area()*height; } }
主方法CylinderMain
public class CylinderMain { public static void main(String[] args) { Cylinder.count();//在创建对象之前用类名count()调用count()方法 Cylinder c1 = new Cylinder(2.5, 3); c1.count(); //用对象c调用静态count方法 System.out.println("圆柱1的体积:" + c1.volume()); Cylinder c2 = new Cylinder(2, 5); Cylinder.count(); System.out.println("圆柱2的体积:" + c2.volume()); } }
结果:
创建了0个对象 创建了1个对象 圆柱1的体积:58.875 创建了2个对象 圆柱2的体积:62.800000000000004