您的位置:首页 > 其它

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

2011-09-11 23:29 127 查看
静态方法和静态变量是属于某一个类,而不属于类的对象。
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;

}
...
}
因为不属于对象,只属于类
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐