栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

final关键字的使用及注意事项

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

final关键字的使用及注意事项

final

final修饰的对象可以看做是常量,不可以被重新赋值或者修改

  1. 使用final关键字修饰的变量只能被赋值一次

    • 在成员方法中被final修饰的变量可以先不赋值,在后面只能被赋值一次

       void sing(){ 
              final int b;  //final修饰
              b = 8;  //只能被赋值一次
           	b = 10;//不能被赋值,程序报错
              System.out.println("我在唱歌");
          }
      
    • 在类中被final修饰的变量也就是成员变量必须在定义时赋值,否则程序会报错

      public class Persons {
          //final int sing;      //未赋初始值程序报错
      	final int sing = 5;//必须赋初始值
       	void sing(){ 
              final int b;  //final修饰
              b = 8;  //只能被赋值一次
           	b = 10;//不能被赋值,程序报错
              System.out.println("我在唱歌");
          }
      }
      
  2. 使用final关键字修饰的类不能被继承

    首先创建一个人类和一个学生类

    public class Person {            //创建一个人类
        String name;                 //设定名字
        int age;                     //设定年龄
        void say(){                  //说话的方法
            System.out.println("我的名字是:"+name+"我的年龄是"+age);
        }
    }
    public class Students extends Person{   //继承于人类
        void write(){
            System.out.println("我在写作业");
        }
    }
    

    如上的程序是正确的,但是如果用final来修饰类,则不可以被继承

    public final class Person {            //创建一个人类
        String name;                 //设定名字
        int age;                     //设定年龄
        void say(){                  //说话的方法
            System.out.println("我的名字是:"+name+"我的年龄是"+age);
        }
    }
    public class Students extends Person{   //继承于人类,程序报错,Person被final修饰
        void write(){
            System.out.println("我在写作业");
        }
    }
    
  3. 使用final关键字修饰的方法不能被重写

    如果使用final修饰方法,那此方法就不能被重写

    public final class Person {            //创建一个人类
        String name;                 //设定名字
        int age;                     //设定年龄
        void say(){                  //说话的方法
            System.out.println("我的名字是:"+name+"我的年龄是"+age);
        }
    }
    public class Students extends Person{   //继承于人类,程序报错,Person被final修饰
        void say(){
            System.out.println("我不能被重写,程序报错");  //程序报错
        }
    }
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643073.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号