舉例
如下所示:
class SmallBrain {}
final class Dinosaur
{
int i = 7;
int j = 1;
SmallBrain x = new SmallBrain();
void f() {}
}
public class Jurassic
{
public static void main(String[] args)
{
Dinosaur n = new Dinosaur();
n.f();
n.i = 40;
n.j++;
}
}
注意數據成員既可以是final,也可以不是,取決於我們具體選擇。套用於final的規則同樣適用於數據成員,無論類是否被定義成final。將類定義成final後,結果只是禁止被繼承——沒有更多的限制。然而,由於它禁止被繼承,所以一個final類中的所有方法都默認為final。因為此時再也無法覆蓋它們。所以這與我們將一個方法明確聲明為final一樣。
可為final類內的一個方法添加final指示符,但這樣做沒有任何意義。