Java的学习笔记(13)对象 八

2023-02-13 21:30:06 浏览数 (1)

对象14:static关键字详解 package oop.Demo08;

//static : public class Student {

代码语言:javascript复制
private static int age;   //静态的变量
private double score;       // 非静态的变量
public void run(){

}
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(Student.score);   报错,非静态,非实例
    System.out.println(s1.score);      //s1实例化了可以直接调用

    Student.go();
    s1.go();
    s1.run();    // new Student().run()

}

} package oop.Demo08;

代码语言:javascript复制
//运行编译,会优先运行先后顺序:   静态代码块、匿名代码块、构造方法

public class Person {

代码语言:javascript复制
{
    //代码块(匿名代码块)   一般用于赋初值
    System.out.println("匿名");
}
static {
    //静态代码块 ,只执行一次
    System.out.println("静态");
}
public Person(){
    System.out.println("构造方法");
}

public static void main(String[] args) {
    Person person1 = new Person();
    System.out.println("======================");
    Person person2 = new Person();
}

/*
最终运行结果:

静态
匿名
构造方法
======================
匿名
构造方法

 */

} package oop.Demo08;

import static java.lang.Math.random; //静态导入包 import static java.lang.Math.PI; //静态导入包

public class test {

代码语言:javascript复制
public static void main(String[] args) {
    System.out.println(Math.random());     //没有加入静态导入包时,即没有加import这两句代码

    //加入了静态导入包
    System.out.println(random());
    System.out.println(PI);
}

}

0 人点赞