final关键字

本文详细介绍了Java中final关键字的使用。final可修饰类、属性和方法,修饰类时类不可被继承;修饰基本数据类型变量,值不可变,修饰引用数据类型变量,初始化后不能指向其他对象;修饰方法,方法不能被重写,还说明了使用final修饰方法的原因。

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

final关键字

final关键字的含义

  final:最终的
    可以用来修饰类、属性、方法。

final修饰类

  表示该类不可被继承。例如String类、System类等。

final修饰变量

  对于基本数据类型的变量,如果使用final修饰,则该变量的值不可改变。
  对于引用数据类型的变量,如果使用final修饰,则对其初始化以后便不能再让其指向另一个对象。

final修饰引用数据类型的变量时,则该引用变量指向的对象的内容可变吗?

  下面举例说明:

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

    }
}

class MyClass {
    public int i = 0;
}

其输出结果为: 1.则说明,引用变量指向的对象的内容可变。

final修饰的变量与普通成员变量有何区别?

  当final作用于类的成员变量时,成员变量必须在定义时或在构造器中进行初始化赋值,(如果类中的构造器有多个,则每个构造器都要对final修饰的属性进行初始化。)而且final变量一旦被初始化赋值之后,就不嗯能够再重新复制。

final修饰一个方法

  final修饰方法,表示该方法不能被重写。如果一个类被修饰为final,则该类中所有的成员方法都会被隐式地修饰为final。

  使用final修饰方法的原因有两个:
            ① 将方法锁定,以防任何继承类修改他的含义。
            ② 效率问题,在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升,在最近的Java版本中不需要使用final方法进行这些又花了。

  类的private方法会被隐式地指定为final方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值