package com.demo01; public class Static extends demo{ /** * @param args */ private static String str = "这是静态变量-------"; private String name; int b = 20; private static int a= 100; //静态的重写父类的静态方法 public static void eat(){ System.out.println("子类重写的静态方法-===="); } public void display(){ super.eat(); } public static void staticMethod(){ System.out.println("这是静态的方法---"); //System.out.println(this.a+this.b);在静态方法中不能使用this关键字 //System.out.println(b);不能直接访问非static变量和方法 System.out.println(Static.a); } public Static() { System.out.println("这是选择器的--------"); } static{ System.out.println("这是静态代码块1------"); } static{ System.out.println("这是静态代码块2------"); } public static void study(){ System.out.println("这是静态的方法-------"); } /* * 这是静态代码块------ 这是选择器的-------- 这是静态变量------- 这是静态的方法------- 静态的代码块在代码加载时就执行,且只加载一次。其他从上到下依次执行 静态方法必须实例化 */ public static void main(String[] args) { // TODO Auto-generated method stub Static st = new Static(); System.out.println(Static.str); Static.study(); Static st1 = new Static(); Static st2 = new Static(); Static t = new Static(); System.out.println(t.b); Static.staticMethod(); System.out.println(Static.a); t.display(); t.eat(); } } class demo{ protected static int num = 52; public static void eat(){ System.out.println("父类的静态方法-------"); } }