zoukankan      html  css  js  c++  java
  • final修饰的变量到底能变不能?

    不能变是肯定的,但是有能不能变这个问题肯定是有表象看似能变的,

    当这个变量是基本数据类型的时候就是怎么都不能变的

    当这个变量是引用类型的话,实际上这个变量只是一个地址,

    这个地址也是肯定不能变的,但是这个地址指向地方内的东西是可以改变的,

    例如

    final StringBuilder sb = new StringBuilder("abc");
    sb= new StringBuilder("def");//错误的一行
    上面一行是错误的,sb这个变量指向的地址值是不可以变的,但是如果上面一行是下面这句
    sb.append("d");//对的一行
    如果现在打印sb的值,就会输出abcd
    可见在sb内部的值已经发生了改变,但是sb的地址值是没有变化的。
    希望上面的废话能帮助你,谢谢观看!


  • 相关阅读:
    7.24总结
    7.23总结
    7.22总结
    。。。
    7.21总结
    7.20总结
    7.19总结
    大假期第四次测试总结
    大假期第三次测试
    题目分享k
  • 原文地址:https://www.cnblogs.com/toomucherror/p/11373223.html
Copyright © 2011-2022 走看看