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());
}
}
关于静态变量需要注意的要点有:
静态变量不属于某个对象,而是属于整个类的;
静态变量对于所有对象来讲,是一个公用变量;
静态变量可以通过类名直接访问,也可以通过对象来访问,两种访问方法是等同的
关于静态方法需要注意的要点有:
静态方法在内存中的代码是随着类的定义而进行分配的,它不被某个对象所专有
静态方法只能处理静态变量或者调用静态方法,不能用来处理对象变量或者对象方法
调用静态方法通常使用类名,但是使用对象名访问也是正确的
以下是参考代码:
[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());
}
}
相关文章推荐
- JAVA的静态变量、静态方法、静态类
- JAVA的静态方法,静态变量,静态类。
- java中静态的代码块,静态变量,静态方法
- JAVA的静态变量、静态方法、静态类
- 小东吖 之 java 构造方法 static关键字 静态变量 静态方法
- JAVA的静态变量、静态方法、静态类
- Java静态方法,静态变量,初始化顺序
- Java中的静态方法和静态变量
- Java---类加载机制,构造方法,静态变量,(静态)代码块,父类,变量加载顺序
- JAVA 静态变量与静态方法
- 内部类访问外部类的变量必须是final吗,java静态方法中不能引用非静态变量,静态方法中不能创建内部类的实例
- Java中静态变量、静态代码块、非静态代码块以及静态方法的加载顺序
- JAVA的静态变量、静态方法、静态类
- java中的静态变量、静态方法和静态代码块
- Java静态方法,静态变量,初始化顺序
- JAVA的静态变量、静态方法、静态类
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- Java自学总结之五静态方法与静态变量
- java 静态初始化块中,方法中不可以定义静态变量(重要)
- java===java基础学习(13)---this,static(静态变量和静态方法)的使用