zoukankan      html  css  js  c++  java
  • 匿名内部类

    今天碰到个问题,循环绑定了click事件后,变量都是最后一个。

    原来匿名内部类要用final来声明所在的方法的变量。

    -----------------------------------

    因为虽然匿名内部类在方法的内部,但实际编译的时候,内部类编译成Outer.Inner,

    这说明内部类所处的位置和外部类中的方法处在同一个等级上,

    外部类中的方法中的变量或参数只是方法的局部变量,这些变量或参数的作用域只在这个方法内部有效。

    因为编译的时候内部类和方法在同一级别上,所以方法中的变量或参数只有为final,内部类才可以引用。

    final 关键字是什么意思

    --------------------------------

    就是用final 定义变量后 就不可在赋值。

    例如 final int i=100。这个i的值永远都是100。

    但是对于变量来说又不一样,只是标识这个引用不可被改变,

    例如 final File f=new File("c:\\test.txt");

    那么这个f一定是不能被改变的,如果f本身有方法修改其中的成员变量,

    例如是否可读,是允许修改的。

    形象的比喻:一个女子定义了一个final的老公,这个老公的职业和收入都是允许改变的,只是这个女人不会换老公而已。

  • 相关阅读:
    安卓中期小作业
    安卓大作业UI预定搞
    实验3
    实验一总结
    实验8 SQLite数据库操作
    实验6 在应用程序中播放音频和视频
    实验4 颜色、字符串资源的使用
    实验四
    实验三
    实验二
  • 原文地址:https://www.cnblogs.com/shenbin/p/2437788.html
Copyright © 2011-2022 走看看