Java——static学习

学习原因:阅读代码遇到static{ }问题

学习视频:【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili

学习总结: 静态只能调用静态,非静态可以调用(非)静态。加载顺序问题(静态与类一起加载)。

理解:静态与类一起加载,若静态方法里面包含非静态方法,由于执行的先后顺序,一开始时找不到非静态方法。

静态变量: 

public class Student{

private static int age;  //静态变量

private double score;  //非静态变量

//age 可以通过类名Student调用,score只能通过对象调用

}

静态方法:

非静态方法必须通过对象调用,静态方法可以通过类名调用,也可以在当前类中直接调用。非静态方法可以直接调用静态方法,反之不行。

静态代码块:

public class Person{ }里面写:

静态代码块:static{ },与类class一起加载,且只执行一次。

(匿名)代码块:{ },创建对象时就创建了。

构造代码块:public Person( ){ }。

(第一次)执行顺序:静态代码块---->匿名代码块---->构造代码块

(第二次)执行顺序:匿名代码块---->构造代码块

静态导入包:使代码更简洁。

例:import static java.lang.Math.random;

Math.random()可用random()取代。

final 修饰:不能被继承。

上一篇:Week02


下一篇:java常量和变量