5个回答
展开全部
在Android的源码中很多地方对final关键字的用法很是“别出心裁”,之所以这么说是因为从没看过是这么使用final关键字的,典型的例子是View类中onScrollChanged方法:
Java code?
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
mBackgroundSizeChanged = true;
final AttachInfo ai = mAttachInfo;
if (ai != null) {
ai.mViewScrollChanged = true;
}
}
此处mAttachInfo是View类的一个成员变量,而在这个方法中Android的程序员并没有直接操作mAttachInfo变量,而是先赋值给一个标明为final的局部变量ai,然后再操作这个ai。
Java code?
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
mBackgroundSizeChanged = true;
final AttachInfo ai = mAttachInfo;
if (ai != null) {
ai.mViewScrollChanged = true;
}
}
此处mAttachInfo是View类的一个成员变量,而在这个方法中Android的程序员并没有直接操作mAttachInfo变量,而是先赋值给一个标明为final的局部变量ai,然后再操作这个ai。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
final 如果修饰类,该类不能被继承;
如果修饰变量,该变量不能被改变,就是不能再重新赋值;
如果修饰方法,这个方法不能被重写。
他就是最终的意思
如果修饰变量,该变量不能被改变,就是不能再重新赋值;
如果修饰方法,这个方法不能被重写。
他就是最终的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
相当于C++的const,c中的define C 5 ,就是定义一个不能更改的变量,可以当常量使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不管之前条件是否符合,都会执行final里面的内容。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询