很多朋友都想知道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(); //调用失败,无法从父类继承获得 ,因为被私有修饰符修饰了。 } }
以上就是小编今天的分享了,希望可以帮助到大家。