java final关键字的使用,java中final关键字可以修饰什么
00-1010一、决赛概述二。通过使用修改类的方法来修改变量。局部变量-引用类型成员变量
00-1010子类可以在父类的基础上重写父类的内容,例如方法重写。那么我们可以随意继承API中提供的类并重写其内容吗?这显然是不合适的。为了避免这种任意重写,Java提供了final关键字来修改不可更改的内容。final: 不可改变。可以用于修饰类、方法和变量。
类:装饰的类不能被继承。方法:s修改的方法不能重写。由变量:修改的变量不能被重新分配。
目录
一、final概述
格式如下:
final class name {}查询API发现我们学过的很多类,比如public final class String,public final class Math,public final class Scanner,都是用final,目的就是供我们使用,而不让我们所以改变其内容.来修饰的
如果注意:的类是由final修饰的,那么这个类不能有任何子类。如果一个类是final,它的所有成员方法都不能被覆盖(因为没有子类。)
二、使用方式
格式如下:
修饰符final返回值类型方法名(参数列表){//方法体}覆盖final修改的方法,编译时报错。
对于类和方法,abstract关键字和final关键字不能同时使用,因为存在矛盾。当具有抽象方法的抽象类被继承时,它的方法必须被子类重写,但final不能被重写。
修饰类
局部变量—基本类型
类型的基本局部变量在被final修改后,只能赋值一次,不能再次更改。
代码如下:
class final demo 1 { public static void main(string[]args){//声明变量并用final修饰final int a;//第一次赋值a=10//第二次赋值a=20//报告错误,不能重新赋值。//声明变量,直接赋值,用final修改final int b=10//第二次赋值b=20//报错,不能重新分配} }思考,如下两种写法,哪种可以通过编译?
写法1:
final int c=0;for(int I=0;i 10I){ c=I;system . out . println(c);}写法2:
for(int I=0;i 10I){ final int c=I;system . out . println(c);}根据final的定义,写1给出错误!2.为什么要编制?因为每一个循环,都是一个新的变量c,这也是大家需要注意的地方。
00-1010引用类型的局部变量,被final修饰后,只能指向一个对象,地址不能再改。但不影响对象内部成员变量值的修改,
代码如下:
00-1010成员变量涉及初始化。初始化有两种方式,只能选择一种:显式初始化:
Classuser {final string username=张三;私人年龄;}构造方法初始化:
公共类用户{最终字符串用户名;私人年龄;公共用户(字符串用户名,整数){ this。用户名=用户名;this.age=年龄;}}就是这样。本文介绍了Java中final关键字的用法。更多相关Java final内容,请搜索Popular IT之前的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。