您的位置:首页 > 编程语言 > Java开发

Java的静态变量和静态方法

2013-10-08 10:45 148 查看
在类体内使用关键字static修饰的变量和方法分别称为类变量和类方法,而不是用该关键字修饰的变量和方法分别成为对象变量和对象方法。

关于静态变量需要注意的要点有

静态变量不属于某个对象,而是属于整个类的;
静态变量对于所有对象来讲,是一个公用变量;
静态变量可以通过类名直接访问,也可以通过对象来访问,两种访问方法是等同的

关于静态方法需要注意的要点有

静态方法在内存中的代码是随着类的定义而进行分配的,它不被某个对象所专有
静态方法只能处理静态变量或者调用静态方法,不能用来处理对象变量或者对象方法
调用静态方法通常使用类名,但是使用对象名访问也是正确的

以下是参考代码

[java]
view plaincopy

class A
{
int a;
static int b; //可以将b理解为一个全局变量,所有的对象或者类对它的访问都是同一变量
void setab(int i)
{
a = i;
b = i + 1;
}
int getab()
{
return a;
}
static void setstatic(int i)
{
b += i;
}
static int getstatic()
{
return b;
}
}
public class TestStatic
{
public static void main(String args[])
{
A x = new A();
A y = new A();
x.setab(5); //非静态方法必须通过类的实例访问 a = 5, b = 6
y.setab(10); // a = 10, b = 11
System.out.println("x.a = " + x.getab() + ", y.a = " + y.getab());
x.setstatic(-5); //静态方法可以通过类名直接访问,也可以通过类的实例访问
y.setstatic(-10);
System.out.println("x.b = " + x.getstatic() + ", y.b = " + y.getstatic());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: