Java关键字final有“最终”的意思,也可以称为完结器,可以用来声明类、属性和方法,当然被修饰类、属性和方法都必须是非抽象类的
一. final声明类
使用final声明的类不能有子类,不能被继承,可以形象地成为太监类。Java中String类就是final类型的。
final class A{
}
class B extends A{
}
二.final声明方法
final声明的方法不能被覆写,但可以被继承。注意:类的private方法默认为final方法,所以private方法不能被覆写
如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final
class A{
public final void print(){
System.out.println("Hello");
}
}
class B extends A{
public void print(){
System.out.println("World");
}
}
class A{
public final void print(){
System.out.println("Hello");
}
}
class B extends A{
}
public class FinalDemo{
public static void main(String[] args){
B b = new B();
b.print();
}
}
三.final声明变量
用final修饰的成员变量表示常量,一旦给final变量初始化后,值就不能再改变了,需要注意的是常量所有字母都必须大写。如果final修饰的是引用类型的变量,则其初始化后引用不会再发生改变,但是可以改变引用指向的值
class Person{
public final int NUM = 1;
public Person(){
NUM = 2;
final Object obj = new Object();
obj = new Object();
}
}
四.static final声明全局常量
使用static final 关键字联合声明的变量称为全局常量
定义格式:public static final String NAME = "Jack";
参考链接:
http://lavasoft.blog.51cto.com/62575/18771/
http://www.cnblogs.com/dolphin0520/p/3736238.html