final关键字的作用java,java中final关键字可以修饰什么

  final关键字的作用java,java中final关键字可以修饰什么

  00-1010最终细节的基本介绍01最终细节02

  

目录

final可以修饰类、属性、方法和局部变量。在某些情况下,当程序员有以下需求时,他们可能会使用final: basesub类

 

  1)当不希望类被继承时,可以用final来修饰。

  2)当你不希望父类的方法被子类覆盖时,你可以用final关键字来修饰它。[案例演示3360访问修饰符最终返回类型方法名]

  3)当你不希望类的某个属性值被修改时,可以用final来修饰。【案例演示:公终双

  4)当不想修改局部变量时,可以使用final modification【案例演示:final double Case讲解】

  包com . demo . final _;public class final 01 { public static void main(String[]args){ E E=new E();e.n1=5.66//e . N2=6.88;//ERROE }}//如果要求A类不能被其他类继承//可以用final来修饰A类final Class A { }//B类扩展A {}/error//2)当不想让父类的某个方法被子类覆盖时,可以用final关键字来修饰。class {//如果我们要求hi不能重写//用final修改public void HI(){ } public final void HI01(){ } } class d扩展c { @ override public void HI(){ super . HI();}/* @覆盖public void hi01(){ super . hi01();}*///ERROR}//3)当不想修改类的某个属性的值时,可以用final来修饰类E { public double n1=1.99公终双n2=2.88}//4)当不想修改局部变量时,可以用final修改类f { public void cry(){ final doubles 1=0.2;//s1此时被称为局部常量。//S1=1.4;//误差双s2=0.8s2=5.6}}

  

基本介绍

最终注释和细节讨论

 

  1)final-decorated属性也叫常量,一般以XX_XX XX命名。2)当最终修饰的属性被定义时,它们必须被赋予初始值,并且它们在将来不能被修改。赋值可以在以下位置之一【随便选一个位置赋值初始值】:定义时:比如public final double tax _ rate=0.08;在代码块中的构造函数中。3)如果最后修饰的属性是静态的,那么定义的时候初始化位置只能是,定义静态代码块的时候不能在构造函数里赋值。4)final类不能继承,但是它可以实例化对象。5)如果该类不是最终类,但包含最终方法,则该方法可以被继承,就像它不能被重写一样。

  情况

  包com . demo . final _;public class final _ details { public static void main(String[]args){ CC c=new CC();FF f=new FF();}}/* 1) final-decorated属性也叫常量,一般以XX_XX XX命名。2)当最终修饰的属性被定义时,它们必须被赋予一个初始值,并且以后不能被修改。赋值可以在以下位置之一【选择一个位置赋值初始值】:定义时:例如public final double tax _ rate=0.08;在代码块中的构造函数中。3)如果最后修饰的属性是静态的,那么定义的时候初始化位置只能是,定义静态代码块的时候不能在构造函数里赋值。4)final类不能继承,但是它可以实例化对象。5)如果该类不是最终类,但包含最终方法,则该方法可以被继承,就像它不能被重写一样。AA类{ } */AA类{ /* 定义时:例如public final double tax _ rate=0.08;在代码块中的构造函数中。*/公开最终双税_税率=0.08;公共最终双重税率2;公共最终双重税率3;

   //2.在构造器中赋值 public AA(double TAX_RATE2) { this.TAX_RATE2 = TAX_RATE2; } //在代码快复制 { TAX_RATE3 = 1.88; }}class BB{ /* 3)如果final修饰的属性是静态的,则初始化的位置只能是①定义时> ②在静态代码块不能在构造器中赋值。 */ public static final double TAX_RATE=0.08; public static final double TAX_RATE2; //public static final double TAX_RATE3; static { TAX_RATE2=0.66; } //构造器赋值不允许// public BB() {// TAX_RATE3=2.3;// }ERROR}//> 4)final类不能继承,但是可以实例化对象。final class CC{ }// 5)如果类不是final类,但是含有final方法,则该方法虽然不能重写,但是可 以被继承。class EE{ final public void laugh(){ System.out.println("大非在笑"); }}class FF extends EE{ }//遵守继承;

 

  

final细节02

5)一般来说,如果一个类已经是final类了,就没有必要再将方法修饰成final方法。

 

  6) final不能修饰构造方法(即构造器)

  7) final 和 static 往往搭配使用,效率更高,底层编译器做了优化处理,

  8)包装类(Integer,Double,Float, Boolean等都是final,String也是final类。

  

package com.demo.final_;public class final_detials02 { public static void main(String[] args) { System.out.println(BBB.n1); // 8)包装类(Integer,Double,Float, Boolean等都是final,String也是final类。 //不能被继承 }}final class AAA{ /* >5)一般来说,如果一个类已经是final类了,就没有必要再将方法修饰成final方法。>6) final不能修饰构造方法(即构造器)>7) final 和 static 往往搭配使用,效率更高,底层编译器做了优化处理,8)包装类(Integer,Double,Float, Boolean等都是final,String也是final类。 */ //>5)一般来说,如果一个类已经是final类了,就没有必要再将方法修饰成final方法。 //public final void cry02(){}//无意义 public void cry02(){}}// }>7) final 和 static 往往搭配使用,效率更高,底层编译器做了优化处理,class BBB{ //不会导致类的加载 public final static int n1=999; static { System.out.println("BBB静态代码块被执行"); }}

到此这篇关于Java超详细分析讲解final关键字的用法的文章就介绍到这了,更多相关Java final内容请搜索盛行IT以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT!

 

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: