static关键字
//static :加在方法上时静态方法;加在属性上是静态属性
public class Student {
private static int age; //静态变量
private double score; //非静态变量
//加了static 就是从属于这个类,其他人用不了,只有本类可以使用
public void run(){
}
public static void go(){
}
public static void main(String[] args){
// run(); 不能直接调用方法
new Student().run();
go();
}
}
public class Person {
/*
{
//代码块(匿名代码块:没有名字)
}
*/
/*
static{
//静态代码块
}
*/
{
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();
}
}
输出结果:
在第二次输出的时候静态代码块并没有输出,它是第一个执行,并且只执行一次
//静态导入包
import static java.lang.Math.random;
public class Test {
public static void main(String[] args) {
System.out.println(Math.random());//随机数
System.out.println(random());//在导入该包后,就可以不用写Math
}
}
被 final 修饰的类不可以被继承
例:
//final 修饰
public final class Person {
}
//继承 final 修饰的类
public class Student extends Person {
}
如果继承了 final 修饰的类就会报错
不能继承被 final 修饰的类