• final关键字


    final可以用来修饰变量,可以用来修饰类,可以修饰方法

    1、final 变量的值不能被改变

      final的成员变量

      final的局部变量

    2、final的 方法不能够被重写

    3、final的类不能被继承

    下面 看一下这个程序进行学习:

    一、

    public class TestFinal {
        public static void main(String[] args) {
            T t = new T();
            t.i = 9;  //在这里是错误的,不可以改变i的值,因为是i是final的
        }
    }
    
    final class T {
        final int i = 8; 
    
    } 

      在上面的代码中 我先定义了一个变量i,是final的,在main函数里 将T的对象进行实例化,t.i=9 进行改变i的值,这是不可以的。

    二、

    在上述代码中:

    public class TestFinal {
        public static void main(String[] args) {
            T t = new T();
            
        }
    }
    
    final class T {
        final int i = 8; 
        public void m(final int j) {
            j = 9;
        }
    
    } 

    我定义了一个方法m, 形参是final的,意思就是说,当传进这个方法m中的j不能够在m方法里面进行改变
    ,所以上面的书写也是错误的,这个有什么用途呢,假如说将上面的几行代码写成这样:
    pulic void m (final Cat c){
    //
    }
    这个将final int i改成了 final Cat c,说明在这个m方法中,Cat c 不能将这个引用指向其他的猫
    三、
    public class TestFinal {
        public static void main(String[] args) {
            T t = new T();
            
        }
    }
     class T {
        final int i = 8; 
        public final void m() {
            //j = 9;
        }
    } 
    
    class TT extends T {
        /*
         * 这里TT类继承T类,不能重写m方法,因为在父类中m方法
         * 被修饰成final的
         */
        public void m() {
            
        } 

    这段代码进行证明了final的 方法是不能够被重写的

    四、

    public class TestFinal {
        public static void main(String[] args) {
            T t = new T();
            
        }
    }
    
    final class T {
        final int i = 8; 
        public final void m() {
            //j = 9;
        }
    } 
    
    class TT extends T {
        /*
         * 这里TT类不能够继承T类,因为final修饰的类不能被继承
         */
        public void m() {
            
        } 
        
    }
    这里将T类被修饰成final,下面TT子类是不能被继承T类的,因为,被final修饰的类不能被继承的

    总的来说final的语法还是比较简单的。

  • 相关阅读:
    搭建Nginx反向代理做内网域名转发
    网站监测脚本
    Nginx启动脚本
    L2TP用户添加和删除、搜索脚本
    CentOS Linux 安装IPSec+L2TP
    Nginx认证
    Nginx配置HTTPS
    Nginx 如何处理一个请求
    HTTP协议原理
    DNS解析流程
  • 原文地址:https://www.cnblogs.com/white-the-Alan/p/10183672.html
Copyright © 2020-2023  润新知