定义
静态成员:又称类成员,使用static修饰符的方法和变量;
非静态成员:又称实例成员,未使用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;
} }
参考文献
暂无