前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JAVA知识基础(五):深入理解final关键字

JAVA知识基础(五):深入理解final关键字

作者头像
栗筝i
发布2022-12-01 08:38:36
2000
发布2022-12-01 08:38:36
举报
文章被收录于专栏:迁移内容迁移内容

1.final 关键字

final关键字主要用在三个地方:变量、方法、类。

  • final修饰变量:final修饰一个类时,表明这个类不能被继承。
  • final修饰方法:final修饰方法,方法不可以重写,但是可以被子类访问 【前提:方法不是 private 类型】。
  • fainal修饰类:如果被final修饰的是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

2.final修饰变量(成员变量、局部变量)

首先,变量分为成员变量和局部变量

2.1 final修饰成员变量 成员变量必须在定义时或者构造器中进行初始化赋值

代码语言:javascript
复制
public class FinalAndVariable {
    public int t; //编译成功
    public final int b; //编译失败
    public final int c = 1; //编译成功
}

在构造方法中将成员变量进行初始化,定义成员变量的时候就可以不用初始化

代码语言:javascript
复制
public class FinalAndVariable {
    public int t;
    public final int b; //编译成功
    public final int c = 1; //编译成功
    public FinalAndVariable() {  //构造方法
       b=2;  //在构造方法中将成员变量b进行初始化
    }
}

2 .2final修饰局部变量 只需要保证在使用之前被初始化赋值即可

3.final变量和普通变量的区别

当final变量修饰基本数据类型以及String类型时,编译期间能知道它的确切值时,编译器会把它当做编译期常量使用。

被final修饰的引用变量一旦初始化赋值之后指向的对象不可变但该对象的内容可变。

4.final与static的藕断丝连

static的使用始终离不开final字眼,二者可谓藕断丝连,常常繁见

static修饰的在类加载的时候就加载完成了(初始化),而且只会加载一次也就是说初始化一次,所以不会发生变化! final修饰基本数据类型的变量时,则其数值一旦在初始化之后便不能更改。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.final 关键字
  • 2.final修饰变量(成员变量、局部变量)
  • 3.final变量和普通变量的区别
  • 4.final与static的藕断丝连
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档