java--final

举报
brucexiaogui 发表于 2021/12/30 01:11:30 2021/12/30
【摘要】 java--final 一、final关键字     ①、final可以修饰变量、方法、类。     ②、final修饰类不可以被继承,但是可以继承其他类     ③、final修饰的方法不可以被覆盖,但可以覆盖父类方法     ④、final修饰...

java--final

一、final关键字

    ①、final可以修饰变量、方法、类。

    ②、final修饰类不可以被继承,但是可以继承其他类

    ③、final修饰的方法不可以被覆盖,但可以覆盖父类方法

    ④、final修饰的变量称为常量,这些变量只能赋值一次。(final修饰的引用类型变量,表示变量的引用地址不能变,引用的值可以改变。)

    ⑤、内部类在局部时,只可以访问被final修饰的局部变量。 

    ⑥、常量名称所有的字母大写,若有多个单词组成,单词间使用下划线连接。

 

二、final使用例子

    ①、final修饰的类不能被继承

    


  
  1. final class FinalCLass
  2. {
  3. }
  4. class Sub extends Super
  5. {
  6. //Sub不能继承被final修饰的FinalClass类

             //class Sub extends FinalCLass {} //FinalDemo.java:5: 错误: 无法从最终FinalCLass进行继承

 

}
 

    ②、final修饰的方法不能被覆盖


  
  1. class Super
  2. {
  3. //修饰符没有先后关系
  4. final public void show()
  5. {
  6. }
  7. }
  8. class Sub extends Super
  9. {
  10. //FinalDemo.java:20: 错误: Sub中的show()无法覆盖Super中的show()
  11. /**public void show()
  12. {
  13. }
  14. */
  15. }

    ③、final修饰的常量

    


  
  1. class FinalDemo
  2. {
  3. //全局常量
  4. public static final int MAX_VALUE = Integer.MAX_VALUE;
  5. public static void main(String[] args)
  6. {
  7. /*
  8. final修饰的变量表示常量:
  9. 对常量有一个规范小规定:常量名得全部大写
  10. 若该常量名由多个单词组成, 单词字符全部大写,而且单词于单词之间使用下划线分割;
  11. public static final int MAX_VALUE
  12. */
  13. final double PI = 3.14;
  14. System.out.println(PI);
  15. //pi = 0.618;//FinalDemo.java:38: 错误: 无法为最终变量pi分配值
  16. /*
  17. final修饰的变量不能赋值?
  18. 最多只能赋值一次,一旦有值之后就不能被修改了;
  19. 当final修饰一个引用类型变量的时候,
  20. 那到底是引用不能变(引用地址不能变),还是引用对象的值不能变呢?
  21. 答: 是引用的地址不能变,对象里的内容是可以变的;
  22. */
  23. //说明地址不能变
  24. final String s = new String();
  25. //s = new String();//FinalDemo.java:59: 错误: 无法为最终变量s分配值
  26. //地址不变,但是对象内容可以改变
  27. final StringBuilder sb = new StringBuilder("AAA");//字符串
  28. System.out.println(sb);
  29. sb.append("BBB");//追加
  30. System.out.println(sb);
  31. }
  32. }

 

 

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/79466166

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。