<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="详解Java中final关键字" id="card1">
<p> 游客</p><p>
标题:详解Java中final关键字<br/>
正文:<br/>
谈到final关键字，想必很多人都不陌生，在使用匿名内部类的时候可能会经常用到final关键字。另外，Java中的String类就是一个final类，那么今天我们就来了解final这个关键字的用法。主要介绍：一.final关键字的基本用法。二.深入理解final关键字一.final关键字的基本用法　　在Java中，final关键字可以用来修饰类、方法和变量（包括成员变量和局部变量）。下面就从这三个方面来了解一下final关键字的基本用法。　　1.修饰类　　当用final修饰一个类时，表明这个类不能被继承。也就是说，如果一个类你永远不会让他被继承，就可以用final进行修饰。final类中的成员变量可以根据需要设为final，但是要注意final类中的所有成员方法都会被隐式地指定为final方法。　　在使用final修饰类的时候，要注意谨慎选择，除非这个类真的在以后不会用来继承或者出于安全的考虑，尽量不要将类设计为final类。　　2.修饰方法　　下面这段话摘自《Java编程思想》第四版第143页：　　&amp;ldquo;使用final方法的原因有两个。第一个原因是把方法锁定，以防任何继承类修改它的含义；第二个原因是效率。在早期的Java实现版本中，会将final方法转为内嵌调用。但是如果方法过于庞大，可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中，不需要使用final方法进行这些优化了。&amp;ldquo;　　因此，如果只有在想明确禁止 该方法在子类中被覆盖的情况下才将方法设置为final的。　　注：类的private方法会隐式地被指定为final方法。　　3.修饰变量　　修饰变量是final用得最多的地方，也是本文接下来要重点阐述的内容。首先了解一下final变量的基本语法：　　对于一个final变量，如果是基本数据类型的变量，则其数值一旦在初始化之后便不能更改；如果是引用类型的变量，则在对其初始化之后便不能再让其指向另一个对象。　　举个例子：　　　　上面的一段代码中，对变量i和obj的重新赋值都报错了。二.深入理解final关键字　　在了解了final关键字的基本用法之后，这一节我们来看一下final关键字容易混淆的地方。1.类的final变量和普通变量有什么区别？　　当用final作用于类的成员变量时，成员变量（注意是类的成员变量，局部变量只需要保证在使用之<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2150&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2150&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2150&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2150&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2150&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2150">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2150">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>