2020-08-19 final

本文深入解析了Java中final关键字的使用,包括修饰类、方法和属性的规则,以及引用类型变量的特殊行为。通过实例展示了final变量指向的对象内容是否可变。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

final
含义:最终;
作用:修饰类、属性、方法
一、修饰类
被final修饰的类不可被继承
但是要注意final类中的所有成员方法都会被隐式地指定为final方法。
二、修饰方法
被final修饰的方法不可被重写
三、修饰属性
对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象,但是它指向的对象的内容是可变的。

注意:被final修饰的引用变量指向的对象内容可变吗?
  在上面提到被final修饰的引用变量一旦初始化赋值之后就不能再指向其他的对象,那么该引用变量指向的对象的内容可变吗?看下面这个例子:

public class Test {
    public static void main(String[] args)  {
            final MyClass myClass = new MyClass();
                    System.out.println(++myClass.i);
     }
}
   class MyClass {
           public int i = 0;
   }

这段代码可以顺利编译通过并且有输出结果,输出结果为1。这说明引用变量被final修饰之后,虽然不能再指向其他对象,但是它指向的对象的内容是可变的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值