安卓开发 定义控件时 加不加final有什么区别
在onCreate()方法中定义一个控件如Button:finalButtona=(Button)findViewById(XXX);和Buttona=(Button)f...
在onCreate()方法中 定义一个控件如Button:final Button a=(Button)findViewById(XXX);和Button a=(Button)findViewById(XXX)加不加final有什么区别?
展开
1个回答
展开全部
这是java基础,推荐先把基础学好在做安卓软件开发,
final是最终的,不可变的,用final修饰的对象不可修改其初始化的时候的值就是如果final int a = 0; 则不能在代码块里继续给a从新赋值,
对于你的问题来说没有什么变化,看样子你是写的局部变量,如果在内部类里不需要对这个值有所改变或者有所操作的话不加就行了,如果需要在内部类里对这个值进行取值或者获取他的信息就只能修饰为final了
final是最终的,不可变的,用final修饰的对象不可修改其初始化的时候的值就是如果final int a = 0; 则不能在代码块里继续给a从新赋值,
对于你的问题来说没有什么变化,看样子你是写的局部变量,如果在内部类里不需要对这个值有所改变或者有所操作的话不加就行了,如果需要在内部类里对这个值进行取值或者获取他的信息就只能修饰为final了
更多追问追答
追问
我知道final定义的变量不可变,在这个例子里面我感觉似乎写不写final都无所谓,可是在一些教科书上无论需不需要,安卓的一些控件他们始终加上了final ,这个是习惯问题么?还是对程序的健壮性有影响?
追答
你跟我说这个问题没有意义,这个东西你自己试验吧.
标准答案是什么,我猜你的心里已经有了,既然你都知道,我就没有必要回答了.
我的习惯是能不加则不加,如果一个final就能和程序的健壮性扯上关系,写什么局部?全部成员public static final 定义对象不算了? final就要有他的作用,不能发挥其作用的地方就不用,否则要不要这个东西还有什么意义?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询