@Xc-liu
2018-09-01T13:46:38.000000Z
字数 872
阅读 754
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.java
public 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.java
public 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());
}
}