美文网首页
Java Final关键字

Java Final关键字

作者: ZhiJunPan | 来源:发表于2019-01-02 15:19 被阅读0次

    Java中的final是一个Java的保留关键字可以应用于变量,方法,与类,一旦引用final关键字来修饰一个引用,便无法对该引用进行修改。

    final变量
    • 对一个变量前加上final关键字之后,该变量即为final变量,对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
    public static final int capacity=0;
    capacity++;(cannot assign a value to final variable 'capacity')
    
    • 对final变量进行修改的话会报编译错误
    final方法
    • 使用final关键字来修饰方法,即代表此方法不可以被子类的方法重写,如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。
    public class ClassRoom {
      final public void printInfo(){
          System.out.pringline(ClassRoom);     
      }
    }
    
    public class MusicClassRoom extends ClassRoom {
      public void printInfo(){
    //overridden method is final
      }
    }
    
    • 重写父类中的final方法时会报编译错误
    final类
    • 使用final关键字来修饰一个类,即代表类的功能很完善,不需要被继承,也无法被继承。
    public final class ClassRoom {
        final public void printInfo(){
        }
    }
    public class MusicClassRoom extends ClassRoom {
    // Cannot inherit from final 'ClassRoom'
    }
    
    • 继承一个final类的时候会报编译错误
      Tips
    1. final类中的所有成员方法都会被隐式地指定为final方法
    2. private方法会隐式指定为final方法

    相关文章

      网友评论

          本文标题:Java Final关键字

          本文链接:https://www.haomeiwen.com/subject/zvezlqtx.html