很多朋友都想知道java的final是什么?下面就一起来解读一下吧~
final是java中的一个关键字,意思为恒定不变,java中final数据具体有两个含义:1、对于基本数据类型,表示永不改变的编译时常量;2、对于普通对象,表示该引用恒定不变,不能指向另外一个对象,该对象本身是可以进行修改的。
final类不能被继承,因此final类的成员方法没有机会被覆盖,默认都是final的,在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会再被扩展,那么就设计为final类,final方法不能被子类的方法覆盖,但可以被继承。
public class Test1 {
public static void main(String[] args) {
// TODO 自动生成方法存根
}
public void f1() {
System.out.println("f1");
}
//无法被子类覆盖的方法
public final void f2() {
System.out.println("f2");
}
public void f3() {
System.out.println("f3");
}
private void f4() {
System.out.println("f4");
}
}
public class Test2 extends Test1 {
public void f1(){
System.out.println("Test1父类方法f1被覆盖!");
}
public static void main(String[] args) {
Test2 t=new Test2();
t.f1();
t.f2(); //调用从父类继承过来的final方法
t.f3(); //调用从父类继承过来的方法
//t.f4(); //调用失败,无法从父类继承获得 ,因为被私有修饰符修饰了。
}
}以上就是小编今天的分享了,希望可以帮助到大家。