A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Style栉 中级黑马   /  2014-3-30 19:46  /  882 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Style栉 于 2014-3-30 21:08 编辑

Final修饰一个引用变量。请问这个引用变量所指的哪个对象的数据可以改变吗。为什么

3 个回复

倒序浏览
final修饰的类与普通类几乎没有区别,只是final修饰的类不能被继承而已。
  1. public final class FinalTest {

  2.         int a=10;
  3.         final int b=20;
  4.         public static void main(String[] args) {
  5.                 FinalTest f = new FinalTest();
  6.                 f.a=30;
  7.                 //f.b=40; 直接显示不能对final修饰的变量赋值
  8.                 System.out.println(f.a);
  9.                 System.out.println(f.b);               
  10.         }
  11. }
复制代码

看上面代码,输出结果为:30 20
FinalTest是一个被final修饰的类,它内部有两个变量。一个被final修饰,一个没有。通过程序可以看出被final修饰的类中的普通成员变量时可以改变值的。但对于由final修饰的成员变量则不能。

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 很给力!

查看全部评分

回复 使用道具 举报
final:最终,作为一个修饰符
        1,可以修饰类,函数,变量
        2,被final修饰的类不可以被继承,为了避免被继承被子类复写功能
        3,被final修饰的方法不可以被复写
        4,被final修饰的变量是一个常量只能被赋值一次,既可以修饰成员变量
        5,内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量
他并不能修饰引用变量

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
被final修饰的变量是一个常量只能被赋值一次,所以就当做常量来看吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马