一、static 关键字
1.作用:可以用来修饰属性、方法、代码块、内部类
2.使用static修饰属性,静态属性(类变量)
2.1静态变量随着类的加载而加载,可以通过"类.静态变量"的方式进行调用;
2.2静态变量的加载要早于对象的创建;
2.3由于类只会加载一次,则静态变量在内存中也只存在一份,存在于方法区的静态域中。
3.使用static修饰方法,静态方法
3.1随着类的加载而加载,可以通过"类.静态方法"的方式调用;
3.2静态方法中只能调用静态的方法;非静态方法中,既可以调用非静态的方法或属性,也可以调用静态的方法或属性
建议从生命周期的角度去理解
4.开发中,
4.1如何确定一个属性是否要声明为static的?
>属性可以被多个对象所共享的,不会随着对象的不同而不同
>类中的常量也常常声明为static
4.2如何确定一个方法是否要声明为static的?
>操作静态属性的方法,通常设置为静态的
>工具类中的方法,习惯上声明为static的
二、final 关键字
1.作用:可以用来修饰的结构:类、方法、变量
2.修饰哪些?
2.1 修饰类:此类不能被其他类继承,比如:String、StringBuffer、System等
2.2 修饰方法:表明此方法不可以被重写
2.3 修饰变量:此时的变量就是一个常量