java关键字:fianl的一些简单的用法

java关键字:fianl的一些简单的用法

引入的一个场景是:

有时候子类会去重写父类的方法方法,但是有时候不希望子类重写父类的方法

这个时候java 提供了一个关键字fianl来修饰

那么

子类中的方法不能重写被final修饰的方法

class Father{


public final void show(){


System.out.println(“不能修改hello java”);


}

}

class Son extends Father{


//编译报错:


//Son中的show()无法覆盖Father中的show()


//被覆盖的方法为final


public void show(){


System.out.println(“我修改了hello java文件”);


}

}

class Test{


public static void main(String[] args){


Son s = new Son();


s.show();


}

}

final关键字:

意思是最终的

它可以修饰类、方法、变量

final修饰:


A:类  这个类不能别其他类继承


B:方法
这个方法不能被子类重写


C:变量



a:类型为基本数据类   这个变量就称为了常量,常量一旦被赋值就不能再次赋值了,不然就报错了


常量:字面常量  “kevin” “cidy”,10,12等


 自定义常量:fianl String num = “001”;



b:类型为引用数据类型的时候   地址值不会改变,但是堆内存中的值可以进行修改


比如:


class Student{


int age =10;


}





class StuTest{


public static void main(String[] args){


Student s = new Student();


System.out.println(s.age)://输出结果为:10;





final Student s2 = new Student();


s2.age=100;


System.out.println(s2.age);//输出结果为100;


}


}


在修饰变量(数据类型为基本数据类型的时候)


如果这个变量被赋了初始值,那么这个变量就不能在被赋值,不然会报错。





public class Test3{


public static void main(String[] args){


final int a =12;


System.out.println(“a = “+a);





//错误: 无法为最终变量a分配值


a = 21;


System.out.println(“a = “+a);


}


}









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100817.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python读取图片信息_糖炒栗子大的好还是小的好

    python读取图片信息_糖炒栗子大的好还是小的好这是一篇最基础的爬虫实例,大佬就不要看了,比较适合零基础或者有少量基础同学阅读

    2025年10月28日
    3
  • navicat12激活码在线生成(JetBrains全家桶)

    (navicat12激活码在线生成)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1STL5S9V8F-eyJsaWNlbnNlSWQi…

    2022年3月27日
    120
  • shell脚本实例精讲_shell脚本编程实例

    shell脚本实例精讲_shell脚本编程实例shell是一个应用程序,它连接了用户和Linux内核,让用户能够更加高效、安全、低成本地使用Linux内核,这就是Shell的本质。shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。shell脚本中最重要的就是对shell命令的使用与组合,再使用shell脚本支持的一些语言特性,完成想要的功能。今天给大家分享《shell脚本100例》,包含了90%的shell脚本知识点,想

    2022年9月28日
    4
  • matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程

    matlab用ode45求解一阶微分方程_matlab解一阶线性微分方程在MATLAB官网ode45函数介绍中有一下四种用法。[t,y]=ode45(odefun,tspan,y0)https://www.mathworks.com/help/releases/R2020b/matlab/ref/ode45.html?doclanguage=zh-CN&nocookie=true&prodfilter=ML%20SL%205G%20AE%20AT%20AA%20AU%20DR%20AS%20BI%20CM%20VP%20CT%20CF%20DA%…

    2025年6月7日
    2
  • SpringMVC笔记(2)

    SpringMVC笔记(2)

    2021年11月12日
    46
  • conductor 系统任务

    conductor 系统任务动态任务 参数 dynamicTaskN 来自任务输入的参数的名称 其值用于调度任务 例如如果参数的值为 ABC 则调度的下一个任务类型为 ABC Example name user task taskReferenc t1 inputParamet files work

    2025年6月24日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号