Java的关键字 final

    xiaoxiao2021-03-25  344

    1. final的意思为最终。

    2.当final修饰变量时,表示变量是常量,相当于C++的const关键字,只能被赋值一次。

    3.当final修饰类方法,该类方法就不能被覆盖掉,如子类同名方法就不能覆盖父类的同名方法。此时当子类的某个方法和父类某个方法同名时,则报错。如:

    class Parent { public final void fun1() { System.out.println("fun1 from Parent"); } } class Son extends Parent { public void fun1() { System.out.println("fun1 from Son"); } } public class Main { public static void main(String[] args) { Son s = new Son(); s.fun1(); } }结果将报错,因为父类的 fun1()方法是用final修饰的,子类的 fun1()方法 无法覆盖他。

    但注意:若父类的fun1()的public 改成private,则上面的程序是能正常输出的,因为当父类的fun1用private修饰时,对于用public修饰的子类方法来说,父fun1是不可见的。

    3.final 修饰的类不能被继承,这很容易理解,因为很多情况继承一个类的目的,就是为了扩展该类的功能,而 final 意思为最终的意思,所以就不让你扩展功能了。

    转载请注明原文地址: https://ju.6miu.com/read-48.html

    最新回复(0)