Java类中的成员分为两种:实例成员和静态成员。使用关键字static声明的成员称为静态成员或类成员,否则为实例成员。
实例成员属于对象,只有创建了实例,才能通过对象访问实例成员变量和调用实例成员方法。
静态成员属于类,即使没有创建实例,也可以通过类名访问成员变量和调用静态成员方法。例如,Java在Math类中声明静态成员常量PI表示π,声明如下:引用格式为Math.PI。
public static final double PI=3.14159265358979323846 //Math类声明静态成员常量PI表示π
- 在类内部,可直接访问静态成员,省略类名。
- 静态成员也可以通过对象引用。
- 在静态成员方法体中,不能访问实例成员,不能使用this引用。
- static用法:可修饰成员变量和成员函数,不可修饰方法的局部变量,包括main
- 声明时,可对静态成员变量赋初值,也可以使用static声明静态初始块,对静态变量进行初始化,语法格式如下,其中只能访问类中的静态成员,且不能引发检测异常,在类加载时执行。`
static //静态初始化
{
讲台成员变量初始化;
}
例题
1、下面关于一个类的静态成员描述中,不正确的是()
A.静态成员变量可被该类的所有方法访问
B.该类的静态方法只能访问该类的静态成员函数
C.该类的静态数据成员变量的值不可修改
D.子类可以访问父类的静态成员
E.静态成员无多态特性
正确答案:C
答案解析 : 深入理解静态成员无多态性