@Xc-liu
        
        2018-09-01T05:46:38.000000Z
        字数 872
        阅读 851
    Java class
instance 变量和方法与具体的类实例以后的对象相关。同一个类的不同实例变量和方法彼此独立。
static 变量和方法与具体的类实例化以后的对象无关。同一类的不同实例共用静态变量和方法。
具体的区别还包括:
//instance:classname classRef=new classname();classRef.instance_var;classRef.instance_methond;//static:classnmae.static_var;classname.static_methond;
回想之前调用Java自带Math库中方法的方式:
Math.PI;Math.sin(9.0);
可以推测,常用库中的方法均为静态方法。
//Circ.javapublic class Circ{static final double pi=Math.PI;double radius;static int numOfObjects=0;Circ(double r){radius=r;numOfObjects++;}static int GetNum(){return numOfObjects;}double GetArea(){return pi*radius*radius;}}
//TestCirc.javapublic class TestCirc{public static void main(String[] args){System.out.println(Circ.GetNum());Circ c1=new Circ(2.0);System.out.println(c1.GetArea());System.out.println(Circ.GetNum());}}