zoukankan      html  css  js  c++  java
  • 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的语法还是比较简单的。

  • 相关阅读:
    PHP中GBK和UTF8乱码解决方案
    Ubuntu下的PHP开发环境架设
    Windows 7 IE主页被篡改,如何修复?
    提高代码质量:如何编写函数
    PhpStorm 10 破解方法
    PHP 常用的header头部定义汇总
    kindle 退出演示模式
    好程序与差程序Good Programming, Bad Programming
    如何让你的一天能有26小时?不完全是开玩笑
    毕业若干年,才知道自己原来认为的很多都是错的想法的成熟
  • 原文地址:https://www.cnblogs.com/white-the-Alan/p/10183672.html
Copyright © 2011-2022 走看看