天天看点

静态方法和静态变量是属于某一个类,而不属于类的对象

  静态方法和静态变量是属于某一个类,而不属于类的对象。 class Point

{

 int x,y;

 static void output()

 {

  System.out.println("output() called");

  }

  public static void main(String[] args)

 {

  Point.output();

 }

} 这个程序是可以编译过的; 因此 静态方法和静态变量的引用直接通过类名引用。 在静态方法中不能调用非静态的方法和引用非静态的成员变量。反之,则可以。 可以用类的对象obj去调用静态的方法method(),如:obj.method()。   虽然静态方法和非静态实例化方法在内存中都是只有1份拷贝,但是他们是不同的。     class Point

{

 int x,y;

 static int z;

 final double PI;

 Point(int a,int b)

 {

PI=3.1415926;

  x=a;

  y=b;

 } ... } 正确的,因为会调用构造函数   class Point

{

 int x,y;

 static int z;

 static final double PI;

 Point(int a,int b)

 {

PI=3.1415926;

  x=a;

  y=b;

 } ... } 错误的,必须 class Point

{

 int x,y;

 static int z;

static  final double PI=3.1415926;  Point(int a,int b)

 {

  x=a;

  y=b;

 } ... } 因为不属于对象,只属于类