首页 > 其他分享 >final关键字

final关键字

时间:2024-08-08 20:38:12浏览次数:7  
标签:变量 int 子类 public 关键字 方法 final

final关键字

final 关键字是一个修饰符,它可以用来修饰类、方法和变量。

  1. final 类:当一个类被声明为 final 时,它不能被其他类继承。这意味着这个类是封闭的,不能有任何子类。

    public final class UtilityClass {
        // 类成员
    }
    
  2. final 方法:将方法声明为 final 可以防止子类重写该方法。这通常用于定义一个类中不应该被改变的行为。

    public class Parent {
        public final void show() {
            System.out.println("This method cannot be overridden");
        }
    }
    
  3. final 变量:对于基本数据类型的变量,声明为 final 意味着一旦给变量赋值后,就不能被重新赋值。对于引用类型的变量,final 只能保证引用本身不可变,但是被引用的对象的内容是可以改变的,除非对象本身是不可变的。

    public class Test {
        public final int value = 10; // 不能重新赋值
        public final Object obj = new Object(); // 可以改变 obj 引用的对象的内容
    }
    
  4. final 参数:将方法参数声明为 final 可以防止方法内部修改参数的值。这有助于确保方法不会改变传入的参数。

    public void process(final int number) {
        // 方法内部不能给 number 赋新值
    }
    
  5. 匿名内部类和局部类中的构造函数:在使用匿名内部类或局部类时,构造函数是 final 的,不能被子类重写。

  6. final 在多态中的应用:当使用多态调用方法时,如果子类重写了父类的方法,并且该方法在父类中被声明为 final,则子类中的方法调用将使用父类的实现。

  7. final 在 Java 8 及以后版本中的局部变量:从Java 8开始,可以在方法中使用 final 声明的局部变量,这些变量可以被赋值一次后修改。

    public void updateValue(int initialValue) {
        final int value = initialValue;
        value += 5; // 合法,可以修改 final 局部变量的值
    }
    

标签:变量,int,子类,public,关键字,方法,final
From: https://www.cnblogs.com/jmy3/p/18349700

相关文章

  • [EC Final 2021] Vision Test
    挺牛题,没做出来,但是参考了Rainbow博客之后发现这些套路自己其实都会啊QwQ。我提交的翻译:给定一个长度为\(n\)的数组\(x\),接下来你有\(q\)次询问。第\(i\)次询问给出一个区间\(l,r\),设\(k=r-l+1\),你提取出\(x\)数组下标在\(l,r\)之间的区间\(y_i=x_{i+l}(0\le......
  • 项目中使用`import`关键字导入文件方式
    一.默认导出一个模块可能只有一个主要的导出内容时,你可以使用默认导出来简化导入过程。a文件导出constfun=()=>{} exportdefaultfun; b文件导入importfunfrom"@/xx/b.js";fun() //方法调用返回abc二.具名导出一个模块包含多个导出内容时,你可......
  • [EC Final 2022] Rectangle
    link。数据结构好题,写死我了QwQ……这个题是可以用segbeats做到\(O(n\logn)\)的。先离散化。我们只用考虑三条竖线和两竖一横的情况。三条竖线线性DP一下就行了。两竖一横的情况可以考虑枚举更靠后的那条竖线,首先这条竖线后面还没有被覆盖的区间就只能用横线覆盖了,于......
  • Nginx反向代理,代理H5前端 ,java后端,使用服务器+finalshell+vpn
    使用前确认已经安装好nginx,这里我使用的是普通的nginx,注意不是Docker版本的nginx输入nginx-t查询一下,自己的nginxconfig.nginx在那个包下,方便查询 使用catnginx.conf命令,进入需要配置的conf中(这个是我使用的server[server{listen82;s......
  • C#关键字汇总
    1.访问修饰符:public:访问不受限制。private:访问仅限于当前类。protected:访问限于当前类和派生类。internal:访问限于当前程序集。protectedinternal:访问限于当前程序集或派生类。2.类型声明:class:声明一个类。struct:声明一个值类型结构。interface:声明一个接口。enum:声明一个枚举。......
  • 很多朋友对 ABAP 关键字 FINAL 的用法,只掌握了一半
    本文阅读目录FINAL对ABAP类和方法意味着什么什么是变量的Up-front声明方式什么是变量的Inline声明方式ABAP757对变量内联声明方式的进一步增强笔者把之前的文章 SAP某ABAP系统标准类中仅有5.4%公有属性被READ-ONLY修饰,原因竟然是…… 分享到我的SAP技......
  • ORACLE 查询条件出现关键字:&
    SQLselect1fromdualWHERExxxIN('AAA&SSS')编译器提示原因和解决方法在OracleSQL查询中,‌如果查询条件包含特殊字符如&,‌通常需要进行转义处理,‌以确保查询语句能被正确解析&在Oracle中可能被视作替换变量的一部分,‌因此直接使用时可能导致查询出错为了正常查询......
  • 【多线程-从零开始-伍】volatile关键字和内存可见性问题
    volatile关键字importjava.util.Scanner;publicclassDemo2{privatestaticintn=0;publicstaticvoidmain(String[]args){Threadt1=newThread(()->{while(n==0){//啥都不写......
  • Jave-this关键字
    目录1.this关键字先看一段代码,并分析问题 什么是this案例演示 2.this的注意事项和使用细节1.this关键字先看一段代码,并分析问题 什么是this this就代表的是当前对象。this可以大概理解成“我的” ,比如我的书包,这里的“我的”就代表当前对象。this是一个......
  • 织梦dede怎么修改关键字长度?
    dede文件修改默认关键字长度第1步:找到并打开dede后台目录下的article_edit.php和article_add.php文件。电脑维修技术网注:如果是修改专题认关键字的话,需要修改spec_add.php和spec_edit.php文件。第2步:在文件中搜索"keywords",找到“$keywords=trim(cn_substrR($keywords,60));......