static 修饰的成员变量与方法,属于class,验证代码如下:
public class Test {
public static void main(String[] args) {
Static1 t2 = new Static2();
// static的方法和变量,只与当前变量类型有关,和当前对象无关
// pintStatic1
((Static1) t2).pintStatic();
// pintStatic2
((Static2) t2).pintStatic();
// pint2static2
((Static1) t2).pint();
}
}
class Static1 {
public static String aa = "static1";
public static void pintStatic() {
System.out.println("pintStatic1");
}
public void pint() {
System.out.println("pint1" + aa);
}
}
class Static2 extends Static1 {
public static String aa = "static2";
public static void pintStatic() {
System.out.println("pintStatic2");
}
public void pint() {
System.out.println("pint2" + aa);
}
}