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

java基础技术知识点总结——static关键字

2017-05-05 23:05 429 查看
class StaticTest{
static int i = 47;//静态成员变量,无论创建多少个StaticTest对象,都共享同一个i。
}

StaticTest s1 = new StaticTest();
StaticTest s2 = new StaticTest();// s1.i和s2.i指向同一存储空间。

还可以直接通过类名引用:
StaticTest.i //同样指向该存储空间,注意如果非静态成员变量则无法通过类名直接引用。

class Incrementable{
int i;
static void increment(){
StaticTest.i++;//静态方法可以通过类名直接引用静态变量。
nonStatic();//注意,编译器将报错,静态方法无法调用非静态方法。
i++;//同上,编译器将报错,静态方法无法调用非静态成员变量。
}
void nonStatic(){
increment();//反之编译通过,非静态方法可以调用静态方法。
}
}

静态方法可以这么调用:
Incrementable i = new Incrementable();
i.increment();
或者:
Incrementable.increment();

除了静态变量和静态方法,还有静态常量、静态代码块、静态导入:
import static java.lang.System.* //静态导入,导入该包后可以使用静态域(静态成员变量)和静态方法,而且不必加类名前缀,例如System.out.println()可以写成out.println()。
class Math{
public static final double PI = 3.14159;//静态常量
static{//静态代码块
out.println();//静态导入System包
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: