2.final修饰的类不可以被继承。
final修饰的方法不可以被覆盖。被final修饰的方法不可以被复写
final class Teacher
{
//声明final标记的类不能被继承
}
class Student extends Teacher
{
}
class Person
{
// 此方法声明为final不能被子类复写
final public String talk()
{
return "Person:talk()" ;
}
}
class Student extends Person
{
public String talk()13
{
return "Student:talk()" ;
}
3.final修饰的变量是一个常量。只能被赋值一次。
class TestFinalDemo
{
public static void main(String[] args)
{
final int i = 10 ;
// 修改用final修饰的变量i
i++ ;
}
}//此时会报错: 错误: 无法为最终变量i分配值
4.内部类只能访问被final修饰的局部变量。
示例下:
class Demo
{
final int x = 3;
public static final double PI = 3.14;
final void show1()
{}
void show2()
{
final int y = 4;
System.out.println(3.14);
}
}