final可以用于类名前,表示类不可被继承;final用于变量前,表示它是只能一次赋值的变量,如果初始化了那就是常量。
static可用于类内部的变量或方法前,表示这是整个类共享的变量和方法,与类对象无关。
abstract用于类名前表示一个抽象类,abstract用于成员方法前表示抽象方法,而抽象类内部至少要有一个抽象方法,这个跟final不能一起用,至于为什么,你一想就清楚了,抽象类本身必须有子类需要实现它的方法,但是final类又不能有子类,这不矛盾了么,所以不能一起用。
static final 用于修饰类的静态变量时表示一个常数,其实更多的还是用在接口里,毕竟用在类里面可能会被子类隐藏。 |