final: l可以修饰非抽象类,非抽象方法和变量。
1、final类型的类不能被继承。
所以如果这个类不需要有子类,类里的东西不允许修改,你可以把这个类设计为final类。
2、fianl类型的方法不能被重写。
所以如果一个类的方法不想被它的子类修改,可以设为final方法。
3、final类型的变量(常量)不能被修改。
final可以修饰成员变量和局部变量。但final类型的变量必须在声明时就得赋值。
4、fianl参数
当函数的参数为final类型时,就说明无法改变该参数的值。
static: 可以用来修饰成员变量和成员方法,也可以形成static静态代码块。
1、static成员变量叫静态变量或类变量,它不依赖任何特定的实例,被类的所有的实例共享。在内存中只有一个拷贝(非静态的是第创建一个实例就会为变量分配一次内存),它可以先声明,后赋值。
2、static方法,可能直接通过类名调用。
3、static代码块也叫静态代码块,一个类中可以有多个,它不在任何方法体内,JVM加载类时会执行这些静态代码块,并且只执行一次。