类变量在类初始化阶段完成初始化,而实例变量则在对象初始化阶段完成初始化。
如果需要访问父类中定义的类变量,可以使用super.作为限定来访问,也可以直接使用父类的类名来调用。
public class StaticSub extends StaticBase { static int count =200; public void info() { System.out.println("本类的count类变量"+count); System.out.println("父类的count类变量"+StaticBase.count); System.out.println("本类的count类变量"+super.count); } public static void main(String[] args) { StaticSub sb = new StaticSub(); sb.info(); } } class StaticBase { static int count =20; }
运行结果:
本类的count类变量200
父类的count类变量20
本类的count类变量20