zoukankan      html  css  js  c++  java
  • final关键字的用法

    final关键字的作用

    1.被final修饰的类不能被继承

    报错信息:cannot inherit from final 'com.dajia.test.Animal'

    2.被final修饰的方法不能被重写

    报错信息:'eat()' cannot override 'eat()' in 'com.dajia.test.Animal'; overridden method is final

    3.被final修饰的变量不能被改变

    变量的引用不能改变?变量引用所指向的内容不能改变?

    举例:

     1 public class FinalTest {
     2     private String str;
     3 
     4     public FinalTest(String str){
     5         this.str = str;
     6     }
     7 
     8     public String getStr() {
     9         return str;
    10     }
    11 
    12     public void setStr(String str) {
    13         this.str = str;
    14     }
    15 }
    16 
    17 //测试
    18 public class TestController {
    19 
    20     public static void main(String[] args) {
    21         final FinalTest finalTest = new FinalTest("111");
    22         finalTest.setStr("222");
    23         System.out.println(finalTest.getStr());
    24     }
    25 
    26 }

    结果:

    222

    说明final修饰的变量所指向的内容可以被修改

     1 public class TestController {
     2 
     3     public static void main(String[] args) {
     4         final FinalTest finalTest = new FinalTest("111");
     5         /*finalTest.setStr("222");*/
     6         final FinalTest finalTest1 = new FinalTest("222");
     7         finalTest = finalTest1;  
     8         System.out.println(finalTest.getStr());
     9     }
    10 
    11 }

    第六行编译报错:

    报错信息:cannot assign a value to final variable 'finalTest'

    结论:final修饰的变量的引用不能被改变,变量引用所指向的内容可以被改变。

  • 相关阅读:
    Camera HAL3学习
    Android GPU呈现模式分析
    Android O版本自定义日志输出目录
    Android Configstore HAL
    Ubuntu下设置adb path的方法
    Ubuntu使用技巧
    PHP学习笔记
    mysql安装
    在ubuntu中安装Python
    OS X在使用<semaphore.h>时报错
  • 原文地址:https://www.cnblogs.com/zfyang2429/p/10304977.html
Copyright © 2011-2022 走看看