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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© guanxiangliang 中级黑马   /  2014-8-5 14:51  /  1073 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

感觉老是有的时候突然就用它来修饰

10 个回复

倒序浏览
final可以修饰类   成员变量  方法
当修饰类的时候 这个类没有子类
当修饰成员变量的时候 这个变量只能被初始化一次
当修饰方法的时候 这个方法不能被重写
当你有这些需求的时候 可以考虑考虑final

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1

查看全部评分

回复 使用道具 举报
首先,final关键字的功能:
         1,final修饰的类不能被继承;如果不希望该类被继承,则使用final修饰。
         2,final修饰的方法不能被重载;如果希望方法只有这一种用法,则使用final修饰。
         3,final修饰的变量一旦被赋值就不能被改变;通常把一些固定不变的值用final修饰,即常量。比如一年
              有12个月,比如一天24个小时等等。。。这些固定值。

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1

查看全部评分

回复 使用道具 举报
内部类访问外部类成员变量 需要final修饰
回复 使用道具 举报
常见的就是用final修饰常量吧
回复 使用道具 举报
当你的类不想被继承,变量不想被重新赋值,方法不想被重写时加final就可以了。
回复 使用道具 举报
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

点评

言简意赅!!!!  发表于 2014-8-6 09:35

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1

查看全部评分

回复 使用道具 举报 1 0
hmid 中级黑马 2014-8-6 00:17:19
8#
楼上说的对啊。
回复 使用道具 举报
到处玩的 发表于 2014-8-6 00:13
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 ...

赞同,归纳的很好~~~~
回复 使用道具 举报
final : 作为一个修饰符,
1.可以修饰类,函数,变量。
2.被final修饰的类不可以被继承。为了避免被继承,被子类复写功能。
3.被final修饰的方法不可以被复写。
4.被final修饰的变量是一个常量只能赋值一次,既可以修饰成员变量,有可以修饰局部变量。
class TestFinalDemo
{
        public static void main(String[] args)
        {
                final int i = 10 ;  
                // 修改用final修饰的变量i
                  i++ ;
        }
}
这样就会报错:TestFinalDemo.java:7: 错误: 无法为最终变量i分配值
                i++ ;
                ^
当某个值不需要改变,加上final最好。
5.内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量。

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马