35-static关键字详解
static
带static是和类一起加载的,能直接调用
反之需要用new抽取对象,然后再调用
public class Test {
    private static int age;//静态变量
    private int score;     //非静态变量
    private static void method1(){   //静态方法
        System.out.println("1");
    }
    private void method2(){          //非静态方法
        System.out.println("2");
    }
    public static void main(String[] args) {
        System.out.println(Test.age); //带static的可以直接用 类名.属性/方法 名  来使用
        Test test = new Test();
        System.out.println(test.score);    //非静态变量需要new一个这个类的对象,再用 对象名.属性/方法名 来使用
        Test.method1();
        test.method2();
    }
}
代码块
public class Test01 {
    {
        //代码块(普通代码块)
        System.out.println("普通代码块");
    }
    static {
        //静态代码块
        System.out.println("静态代码块");
    }
}    
执行顺序:
 静态代码块
 普通代码块
 构造器
public class Test01 {
    {
        //代码块(普通代码块) 可以用来赋初始值
        System.out.println("普通代码块");
    }
    static {
        //静态代码块
        System.out.println("静态代码块");
    }
    public Test01() {
        System.out.println("构造器");
    }
    public static void main(String[] args) {
        new Test01();
        System.out.println("================");
        new Test01(); //第二次输出,没有静态代码块,static是和类一起加载的,只在第一次执行
    }
/*
静态代码块
普通代码块
构造器
================
普通代码块
构造器
*/
静态导入包
package com.oop.Demo09;
import static java.lang.Math.random;
import static java.lang.Math.PI;
public class Test02 {
    public static void main(String[] args) {
        System.out.println(Math.random());//导入后,可以省略Math.
        System.out.println(PI);
    }
}
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号