1.static静态的意义,加在属性面前就为静态属性;加在方法面前就为静态方法
2.如图,定义了一个静态属性age,一个非静态属性score;
输出语句一共四句,其中第三句报错,由于静态和非静态的区别,导致静态的属性与Student类同时加载出来,而非静态属性score需在编译后才加载出来,因此非静态age可直接Student.age进行调用。而非静态score不可直接通过Student.score进行调用;而是s1为实例化的Student类的对象,可通过s1.属性进行调用
3.同理,在调用方法时,静态方法可直接调用,由go和Student.go可直接调用,但非静态run方法显示直接报错,不可直接调用,需要实例化后才可调用,如图student.run
4.如图,定义了Person类,定义三个方法,第一次输出结果为静态服务块,匿名代码块,构造方法;是由于static为静态,他在类定义时就加载了出来,因此率先输出,其次按顺序为匿名代码块,构造方法;
第二次输出为匿名代码块,构造方法;因为static只执行一次,所以不输出静态代码块
5.如图输出Math.random()函数,可通过导入java下的包进行调用在调用时就不需要写出前缀Math.random();而是可以直接rundom()
6.若在一个类前面加入final,则其他类不可将此类作为父类