目录
关键字 static
作用:
- 修饰类属性(变量)
- 修饰类方法
- 静态代码块
- 修饰类
1. 修饰变量
Java 中的静态变量和类相关, 和具体的实例无关。
代码示例:
/**
* static 修饰类变量
*/
class TestDemo {
public int a;
public static int count;
}
public class Demo1 {
public static void main(String[] args) {
TestDemo t1 = new TestDemo();
t1.a++;
TestDemo.count++;
System.out.println(t1.a);
System.out.println(TestDemo.count);
System.out.println("============");
TestDemo t2 = new TestDemo();
t2.a++;
TestDemo.count++;
System.out.println(t2.a);
System.out.println(TestDemo.count);
}
}
从上面代码可以看出 count 被 static 所修饰,同一个类的不同实例共用同一个静态属性。且不属于对象,访问方式为:类名 . 属性。
小结:
- static 修饰的变量称为类的静态变量或类属性(类变量),直接使用类名称来访问。
- 所有的静态变量、常量在方法区中存储。
- 常量一旦使用 static 修饰,就无法修改,修饰常量 static 一般与 final 搭配使用。
例题:
假设 A 类有如下定义,设 a 是 A 类的一个实例,下列语句调用哪个是错误的?()
public class A
{
public int i;
static String s;
void method1(){}
static void method2(){}
}
A System.out.println(a.i);
B a.method1();
C A.m