Java Final关键字使用
创始人
2024-01-29 16:22:53
0

Final关键字

final可以修饰类, 属性, 方法和局部变量

在某些情况下程序员可能有以下需求,就会使用到final:
1)当不希望类被继承时,可以用final修饰.
2)当不希望父类的某个方法被子类覆盖/重写(override)时,可以用final关键字修饰。[访问修饰符 final 返回类型 方法名]
3)当不希望类的的某个属性的值被修改,可以用final修饰. [ public final double TAX_RATE=0.08 ]
4)当不希望某个局部变量被修改,可以使用final修饰[ final double TAX_RATE=0.08 ]

注意事项

  1. final修饰的属性又叫常量, 一般用 XX_XX_XX 来命名
  2. final修饰的属性在定义时, 必须赋初值, 并且以后不能再修改, 赋予初值可以在如下位置之一
    [定义时,在构造器中, 在代码块中]
  3. 如果final修饰的属性是静态的, 则初始化的位置只能是
    [定义时, 在静态代码块], 不能在构造器中赋值.
  4. final类不能继承,但是可以实例化对象
    如果类不是final类,但是含有final方法, 则该方法虽然不能被重写, 但是可以被继承
  5. 一般来说,如果一个类已经是final类了,就没有必要再将方法修饰成final的.
  6. final不能修饰构造方法
  7. final和static往往搭配使用,效率更高,不会导致类加载,底层编译器做了优化处理
  8. 包装类(Integer,Double,Float, Boolean等都是final), String也是final类。

练习题目

请编写一个程序,能够计算圆形的面积。要求圆周率为3.14. 赋值的位置3个方式[定义时,在构造器中, 在代码块中]都写一下

class Circle {private double radius;private final double PI; // 定义时赋值// 构造器里赋值public Circle(double radius) {this.radius = radius;// PI=3.14}{PI = 3.14;}public double calArea() {return PI * radius * radius;}
}public class Test {public static void main(String[] args) {Circle circle = new Circle(5.0);System.out.println("面积等于" + circle.calArea());}
}

相关内容

热门资讯

新汽车央企中国长安汽车集团股权... 新京报贝壳财经讯(记者王琳琳)7月29日,重庆长安汽车股份有限公司(简称“长安汽车”)发布中国兵器装...
重大揭秘!"汇友金花... 主题演讲将在英特尔官网直播,官方表示重点关注下一代 AI PC 技术,但尚未披露具体内容。,TCL华...
关税战为何适得其反?听完意大利...   意大利锡耶纳大学经济学教授保罗·宾7月29日在《中国日报》撰文,以中美欧葡萄酒贸易为例阐述加征关...
石榴花开北疆红·籽籽同心家国情...   中国网讯 7月29日,蓝天白云,碧草如茵,牛羊成群,“守望草原巡防队”的队旗猎猎作响,随风飘扬。...
抗战影像记忆|“失联”88年的...   “伟大的卢沟桥也许将成为伟大的民族解放战争的发祥地了!”  1937年8月1日,《世界知识》杂志...
闻“风”而动!浙江各地严阵以待...   据浙江天气,台风“竹节草”将以每小时10-15公里的速度向西北方向移动,强度变化不大;将于30日...
北京强降雨已造成30人死亡 北...   中央气象台7月29日6时继续发布  暴雨橙色预警和强对流天气黄色预警  7月28日晚  国家防总...
老人自带毯子躺地铁车厢睡觉 武...   7月28日,有网友发布视频,地铁四号线上一位老人铺着毯子在地铁车厢内睡觉,手机还开着外放,对此,...
罗大美遇害案29日一审二次开庭   罗大美遇害案今日(29日)一审二次开庭,罗大美妹妹:他们不承认故意杀人和抢劫,庭审外采访间隙,大...