final可用来修饰类,变量,方法:
final修饰的类不能有子类,也不能被继承。
final修饰的变量是一个常量,不能重新赋值。
final修饰的方法不能重写
final修饰的常量① 与 static final 修饰的常量② 的区别。
例如:
① final long CURRENT_TIME=system.currentMillis();
② static final long CURRENT_TIME=system.currentMillis();
不使用static修饰:
如果建立常量时直接赋一个固定值,那么这个常量的值是固定不变的,即多个对象中的值也是相同的。如果建立常量时是采用函数或对象,那么每次建立对象时给其常量的初始化值就有可能不同。所以,只使用final的Java常量定义并不是恒定的。
使用static修饰:
在创建对象之前就会为这个变量在内存中创建一个存储空间,以后创建对象如果需要用到这个静态变量,那么就会共享这一个变量的存储空间。
总结:static表示静态。他是属于类的。可以在本身类里直接调用,或在其它类里用类名.方法名调用。不加static表示是实例的方法,必须用实例来调用。在本类里也一样,必须用实例调用