• 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修饰的变量的引用不能被改变,变量引用所指向的内容可以被改变。

  • 相关阅读:
    android studio创建模拟器
    mqtt服务搭建(emqx,原emq)
    Kubernetes-Istio之Gateway和VirtualService
    使用jib上传docker镜像
    Kubernetes-Istio之Sidecar自动注入
    Kubernetes-使用Helm安装istio
    kubernetes-安装Helm
    kubernetes-使用Nginx配置ingress-controllers
    kubernetes-使用kubeadm添加node节点
    kubernetes-使用Calico配置NetworkPolicy
  • 原文地址:https://www.cnblogs.com/zfyang2429/p/10304977.html
Copyright © 2020-2023  润新知