Java SE之[静态成员/类成员]与[非静态成员/实例成员]【static】

时间:2024-01-02 23:12:32

定义

  静态成员:又称类成员,使用static修饰符的方法和变量;

  非静态成员:又称实例成员,未使用static修饰符的方法和变量。

结论
Java SE之[静态成员/类成员]与[非静态成员/实例成员]【static】

注:jdk1.8

测试源码

public class Main {
private int x = 34; // 非静态变量
private static int a = 1; // 静态变量 private static int b = a; //[√] 静态变量调用静态变量
private static int c = getA(); //[√] 静态变量调用静态方法
// private static int d = x; //[X] 静态变量调用非静态变量
// private static int e = getB(); //[X] 静态变量调用非静态方法 private int y = a; //[√] 非静态变量调用静态变量
private int m = getA(); //[√] 非静态变量调用静态方法
private int p = x; //[√] 非静态变量调用非静态变量
private int n = getB(); //[√] 非静态变量调用非静态方法 public static int getA(){
int result = a; //[√] 静态方法调用静态变量
result = getStaticA(); //[√] 静态方法调用静态方法
// result = x; //[X] 静态方法调用非静态变量
// result = getB(); //[X] 静态方法调用非静态方法
return result;
} public static int getStaticA(){//静态方法
return a;
} public int getB(){
int result = 2;
result = a; //[√] 非静态方法调用静态变量
result = getA(); //[√] 非静态方法调用静态方法
result = x; //[√] 非静态变量调用非静态变量
result = getUnStaticB(); //[√] 非静态变量调用非静态方法
return result;
} public int getUnStaticB(){ //非静态方法
return x;
} }

参考文献

  暂无