package test.src.com.oop.Demo07; public class Student { private static int age;//静态的变量 多线程 private double score;//非静态的变量 //非静态可以调用静态中的所有东西,而静态方法可以调用静态方法,不能调用普通方法 public void run(){ go(); } public static void go(){ } public static void main(String[] args) { Student s1 = new Student(); System.out.println(Student.age); System.out.println(s1.age); System.out.println(s1.score); s1.run(); Student.go(); go(); } } package test.src.com.oop.Demo07; //对象一旦创建,先执行匿名代码块,再执行构造方法 //静态代码块只有在第一次创建的时候会执行,后面不会执行 public class Person { { //匿名代码块 //程序执行的时候不能直接调用这些代码 //在构造器之前 //用于赋初始值 System.out.println("匿名代码块");//2 } static { //静态代码块 //永久只执行一次 System.out.println("静态代码块");//1 } public Person() { System.out.println("构造方法");//3 } public static void main(String[] args) { Person person1 = new Person(); System.out.println("==================="); Person person2 = new Person(); } }