简述static和final的用法?
static:修饰属性,方法,代码块
(1)静态属性:也可叫类变量 类名.属性名 来访问
共有的类变量与对象无关,只和类有关)
注意:类中的实例变量是在创建对象是被初始化的,被static修饰的属性,也就是类变量在类加载时被创建并进行初始化,类加载的过程是进行一次。也就是类变量只会被创建一次。
(2)静态方法:类名.方法名 直接访问
注意:static修饰的方法,不能直接访问本类中的非静态(static)成员(包括方法和属性)
本类的非静态方法可以访问本类的静态成员(包括方法和属性),可以调用静态方法。
修饰变量,方法,类
final:修饰变量,类,方法
(1)修饰变量
被fianl修饰的成员变量就是常量(常量名大写),一旦赋值不能改变
修饰局部变量:修饰基本数据类型 -> 变量的值不能改变
修饰引用 -> 引用只能指向固定的对象
修饰实例变量:默认值不生效,可以再赋值
(2)修饰方法 :不能被子类覆盖
(3)修饰类:不能被继承
在一个final类中的所有方法,默认都是final的
注意:final,不能用来修饰构造方法。