首页 > 试题广场 >

关于final说法正确的是? ( )

[单选题]

关于final说法正确的是?  ( )


  • final类的方法肯定不能被同一个包的类访问
  • final类的方法能否被同一个包的类访问不是由final决定
  • final方法等同于private方法
  • final对象本身的引用和值都不能改变
final变量,如果是基本数据类型,则其数值一旦初始化后就不能被改变。如果是引用类型的变量,则对其初始化后,便不能再指向另一个对象,但是其里面的值是可以改变的。引用变量所指向的对象中的内容是可以改变的。
发表于 2018-03-07 09:44:50 回复(5)

final 修饰符

final 变量:

final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以被改变。也就是说 final 对象的引用不能改变,但是里面的值可以改变。

final 修饰符通常和 static 修饰符一起使用来创建类常量。

final 方法

类中的 final 方法可以被子类继承,但是不能被子类修改。

声明 final 方法的主要目的是防止该方法的内容被修改。

如下所示,使用 final 修饰符声明方法。

final 类

final 类不能被继承,没有类能够继承 final 类的任何特性。


发表于 2017-12-28 09:50:11 回复(16)
能不能被一个包访问是和访问控制符有关系
发表于 2017-06-05 19:48:11 回复(2)
1.能不能被访问,取决于访问控制符。
2.final如果修饰基本数据类型,被初始化之后其值不能够再改变;如果修饰的是引用,其引用不可变,但是引用的对象内容可变,就是引用不能够变成其他的引用,但是引用的对象内容可变。
发表于 2018-09-10 09:18:29 回复(0)
A:能不能被同一个包的类访问与final无关,由public protect default private 决定
C:......
D:引用不能改变、值可以改变
发表于 2017-05-24 22:35:03 回复(6)
Java中的访问修饰符及其权限:

访问权限   类   包  子类  其他包

    public     ∨   ∨   ∨     ∨

    protect    ∨   ∨   ∨     ×

    default    ∨   ∨   ×     ×

    private    ∨   ×   ×     ×


发表于 2019-08-14 13:57:44 回复(0)
final修饰的引用类型变量,只保证这个引用的地址不变,即一直引用同一对象。但这个对象可以改变。
发表于 2018-02-28 00:25:39 回复(0)
final对象本身的引用是不能改变的,但是引用对象的内容也就是值,是可以改变的额
发表于 2021-12-13 11:55:10 回复(0)
这道题受教了
发表于 2018-04-13 12:59:13 回复(0)

搬运工~

final 变量:

final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以改被变。也就是说 final 对象的引用不能改变,但是里面的值可以改变。

final 修饰符通常和 static 修饰符一起使用来创建类常量。

final 方法

类中的 final 方法可以被子类继承,但是不能被子类修改。

声明 final 方法的主要目的是防止该方法的内容被修改。

如下所示,使用 final 修饰符声明方法。

final 类

final 类不能被继承,没有类能够继承 final 类的任何特性。

发表于 2022-04-16 18:04:07 回复(0)
1.final的引用数据类型不能改变对象的地址,但可以改变对象的内容
2.能不能被访问跟权限修饰符有关,跟final无关
发表于 2022-03-16 22:53:29 回复(0)
Final 一般用于变量,方法和类上但是不能决定访问权限
Final 类一般用于不可变类(比如String) 该类无法被继承(为了安全) 不能和abstract 连用 (毕竟Abstract类是需要子类继承才能实例化的,如果使用Final的话失去了本质);
Final 方法 是指该该方法无法被子类重写
基本类型和引用类型 这里没有说清楚是可以改变引用类型的指向还是引用对象的内容。
如果是引用类型的指向的话是不能改变的
内容倒是可以改变。
编辑于 2019-09-23 21:21:19 回复(0)

被final修饰的对象,引用是不能改变的,但是对象属性值是可以改变的

发表于 2019-09-11 00:01:29 回复(0)
final 修饰符 final 变量: final 变量能被显式地初始化并且只能初始化一次。被声明为 final 的对象的引用不能指向不同的对象。但是 final 对象里的数据可以被改变。也就是说 final 对象的引用不能改变,但是里面的值可以改变。 final 修饰符通常和 static 修饰符一起使用来创建类常量。 final 方法 类中的 final 方法可以被子类继承,但是不能被子类修改。 声明 final 方法的主要目的是防止该方法的内容被修改。 如下所示,使用 final 修饰符声明方法。 final 类 final 类不能被继承,没有类能够继承 final 类的任何特性。
发表于 2019-04-28 12:10:14 回复(0)
一开始选了D,后面用代码验证了一下。
final Val<String> val = new Val<>("111"); System.out.println(val.get()); val.set("2222"); System.out.println(val.get());
发现,final修饰的对象,只是引用地址不能变,但是它的值确实是能改变的
发表于 2023-10-08 11:44:55 回复(0)
能不能被同一个包访问和访问控制符有关
发表于 2023-05-26 11:39:50 回复(0)
final类的方法能否被同一个包的类访问不是由final决定,而是由访问控制符决定的
发表于 2022-11-14 17:44:21 回复(0)
b访问修饰符
发表于 2022-10-08 08:18:40 回复(0)
访问修饰符决定的是能否被包外的类访问,不是final
发表于 2020-12-31 10:15:58 回复(0)
final修饰的引用指向的内容是可变的
发表于 2019-06-04 09:01:23 回复(0)