static,final 关键字
/**
* static 关键字
* @author xujb
* @version 1.0
* @since 1.6
* 静态变量对于类而言,只有一个,能被所有对象共享
* 推荐用类名直接访问能很清晰的知晓是静态变量
*
* final,被final 修饰的类无法被继承
* */
public final class Studeng {
private static int age;//静态变量
private double score;//类变量
public static void main(String[] args) {
Studeng studeng =new Studeng();
System.out.println(Studeng.age);//如果是静态变量,推荐用类名直接访问能很清晰的知晓是静态变量
System.out.println(studeng.age);
System.out.println(studeng.score);
}
public void run(){
go(); //非静态方法可以去调用这个类里的静态方法,
//静态方法在类加载的时候就已经加载,非静态方法要等到创建实例
System.out.println("run()");
}
//静态方法
public static void go(){
System.out.println("go()");
}
}
eg2;
//可以静态导入工具类的特定方法变量,可直接使用
import static java.lang.Math.random;
import static java.lang.Math.PI;
/**
* 静态实例
*
* */
public class Person
{
//匿名代码块赋初始值。
{
System.out.println("匿名代码块");
}
static {
System.out.println("静态代码块");//类加载的时候执行,永久执行一次。
}
public Person() {
System.out.println("构造方法Person() ");
}
public static void main(String[] args) {
Person person=new Person();
Person person1=new Person();
System.out.println("输出随机数"+random());//静态导入工具类的变量方法,可直接调用
System.out.println("输出PI的值"+PI); //静态导入工具类的变量方法,可直接调用
}
}