java 中 static关键字

1,新建Person类

package oop.demo08;

/*
静态代码块
 */
//public final class Person { ------定义 final 之后 不能被继承
public  class Person {

    {
//        代码块(匿名)
//        跟对象同时产生 --------赋一些初始值
        System.out.println("匿名代码块");
    }

    static { //类加载执行 (永久  只执行一次)
        //静态代码块
        System.out.println("静态代码块");
    }

    public Person() {
        System.out.println("无参构造方法");
    }

    public static void main(String[] args) {
        Person person = new Person();
        System.out.println("==================");
        Person person2 = new Person();
    }
    /*
    依次输出的顺序是:
        静态代码块
        匿名代码块
        无参构造方法
        ==================
        匿名代码块
        无参构造方法
     */
}

运行结果

2,新建Student类

package oop.demo08;
//static 关键字
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);//0
        System.out.println(s1.age);//0
        System.out.println(s1.score);//0.0

//        通过对象点方法调用
        new  Student().run();

        Student.go();
        go();
    }
}

运行结果

3,新建Test类

package oop.demo08;

//静态导入包
import  static  java.lang.Math.random;
import  static  java.lang.Math.PI;
public class Test {
    public static void main(String[] args) {
        System.out.println(random());//随机数
        System.out.println(PI);//3.141592653589793
    }
}

运行结果

posted @ 2021-08-03 18:25  阿向向  阅读(28)  评论(0编辑  收藏  举报