java里面的这种写法是什么意思?

2024-12-22 11:55:54
推荐回答(5个)
回答1:

Java中的final关键字通常的指的是“这是无法改变的”。它可能被做为三种的修饰词.------数据,方法,类。

一 final数据

这里又可分为两种:
1.在修饰基本类型时,表示它是一个常量,在定义时必须给予赋值.特别的一个既是static又是final 的字段只占据一段不能改变的存储空间。
2.在修饰对象或者数组时,它表示对对象或数组的引用恒定不变,然而对象本身却是可以修改的.

空白final:声明为final但末给定初值的字段,但必须确保空白final在使用前被初始化,一般在构造方法完成。
final参数:在方法的参数列表以声明的方式将参数指明为final,这意味着在方法里无法修改参数的引用所指向的对象。

二 final方法
使用final使用的原因有两个:
一. 把方法锁定,使得在子类(导出类)中不能修改它的含义。
二.效率,一个final方法被调用时会转为内嵌调用,不会使用常规的压栈方式,使得运行效率较高,尤其是在方法体较简单的情况下,但也并不绝对。(与C++中的inline关键字类似)
特别的:类中的所有private方法都隐式地指定为是final,所以在继承关系中不存在覆盖问题。

三 final类

声明为final的类不能派生出了子类,也就是不能被继承,一个final类中的所有方法都隐式地指定为final.

回答2:

对与java中的final变量,java编译器是进行了优化的。每个使用了final类型变量的地方都不会通过连接而进行访问。
final关键字是最终的、最后的意思,在程序中可以用来修饰类、成员变量和方法的声明,由该关键字修饰的内容都是不可变的,
final修饰的数据是常量,常量既可以出现在类的内部,也可以出现在方法或构造方法的内部。在程序中常量只能赋值一次。也就是说不能再次给他赋值了。

回答3:

private 一般特指类内使用。
final 一般指不可被更改的。相当于C中的常的意思(constant)

具体,你可以写个小程序,尝试定义两个成员变量,分别用final和private修饰,再更改两个变量值,试着运行并输出,你就可以发现它们的不同了。

回答4:

private进行修饰是可以被改变的,private修饰可以被同个类内的方法所访问,是可以被修改的,只是类外的方法才是不能直接访问private修饰的内容

final是表示不能再被更改,基本类型是值不能被更改,类是引用不能被更改

回答5:

被final修饰的变量无法被修改,必须在声明的时候或构造函数里赋值。
这种写法在连接数据库的类中非常常见,有利于提高编译及运行效率。
而且被定义成静态(static)之后,可以从类的外部随时调用,而不需要实例化该类。

更深的原理,你可以百度一下final相关文章,会从底层角度给你解释