java中static和final修饰符作用

static 修饰符 作用(静态的只能访问静态的)
1.修饰变量:-----被static修饰叫做静态变量或者是类变量; 没有被修饰的叫做实例变量
每个对象都共有的属性就可以设置为static,被修饰的成员被所有的对象共享,且可以直接用 类名.X静态成员 的方式调用
static优先于对象存在,因为static成员随类的加载就已经存在了
2.修饰方法
静态方法只能访问静态成员(非静态既可以访问静态也可以访问非静态)
静态方法中不可以使用this或者super关键字(对象不存在)
因为静态方法是优先于对象存在,而且可以直接类名.调用
3.修饰代码块:静态代码块
随着类的加载而运行,而且只运行一次
作用:用于类的初始化
static代码块是类加载时,初始化自动执行的。如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次
当类中的变量全部是静态的时候才用静态代码块去初始化变量

final修饰
final
     在Java中声明属性、方法和类时,可使用关键字final来修饰。
     final变量即为常量,只能赋值一次;
     final方法不能被子类重写;
     final类不能被继承。
初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值。
    一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变
在java中,普通变量系统是自动初始化的,数值变量自动初始化为0,其余类型变量自动初始化为空。但是final类型的变量必须显示初始化,且初始化的方法必须是在申明时或者在构造方法中直接赋值,而不能通过调用函数赋值。

你可能感兴趣的:(android)