java类的静态变量称为类变量,非静态变量称为实例变量。
静态变量可以在声明时初始化,也可以不在声明时初始化。
通过下面方式可以访问类的静态变量:
- 类内部直接访问静态变量;
- 通过类名访问静态变量;
- 通过实例访问静态变量(不推荐)
代码示例:
package com.thb;
public class Test2 {
private static int localPort = 22335; //声明的时候初始化
private static int port; //声明的时候没有初始化
public static void main(String[] args) {
// 在类的内部直接访问静态变量
System.out.println("类内部直接访问静态变量(没有初始化),port = " + port);
// 通过类名访问静态变量
System.out.println("通过类名访问静态变量(没有初始化), port = " + Test2.port);
// 不推荐使用:通过实例访问静态变量,会增加编译器的解析成本
System.out.println("通过实例访问静态变量(没有初始化),port = " + (new Test2()).port);
if (port == 0) {
port = 22335;
}
System.out.println("赋值后,port = " + port);
}
}
执行结果: