Java¹Ø¼ü×Ö½éÉÜÖ®final
×Ü½á¹Ø¼ü×ÖfinalµÄÓ÷¨¡£
author: ZJ 07-3-16
Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]
ÔÚJavaÖÐÉùÃ÷ÊôÐÔ¡¢·½·¨ºÍÀàʱ£¬¿ÉʹÓùؼü×ÖfinalÀ´ÐÞÊΡ£final±äÁ¿¼´Îª³£Á¿£¬Ö»Äܸ³ÖµÒ»´Î£»final·½·¨²»Äܱ»×ÓÀàÖØÐ´£»finalÀ಻Äܱ»¼Ì³Ð¡£
1£®final³ÉÔ±
ÉùÃ÷ final ×Ö¶ÎÓÐÖúÓÚÓÅ»¯Æ÷×÷³ö¸üºÃµÄÓÅ»¯¾ö¶¨£¬ÒòΪÈç¹û±àÒëÆ÷ÖªµÀ×ֶεÄÖµ²»»á¸ü¸Ä£¬ÄÇôËüÄܰ²È«µØÔڼĴæÆ÷ÖиßËÙ»º´æ¸ÃÖµ¡£final ×ֶλ¹Í¨¹ýÈñàÒëÆ÷Ç¿ÖÆ¸Ã×Ö¶ÎΪֻ¶ÁÀ´Ìṩ¶îÍâµÄ°²È«¼¶±ð¡£
1.1¹ØÓÚfinal³ÉÔ±¸³Öµ
1£©ÔÚjavaÖУ¬ÆÕͨ±äÁ¿¿ÉĬÈϳõʼ»¯¡£µ«ÊÇfinalÀàÐ͵ıäÁ¿±ØÐëÏÔʽµØ³õʼ»¯¡£
2£©final ³ÉÔ±ÄÜÇÒÖ»Äܱ»³õʼ»¯Ò»´Î¡£
3£©final³ÉÔ±±ØÐëÔÚÉùÃ÷ʱ£¨ÔÚfinal±äÁ¿¶¨Òåʱֱ½Ó¸øÆä¸³Öµ£©»òÕßÔÚ¹¹Ô캯ÊýÖб»³õʼ»¯£¬¶ø²»ÄÜÔÚÆäËüµÄµØ·½±»³õʼ»¯¡£
ʾÀý1 Bat.java
public class Bat {
final double PI = 3.14; // ÔÚ¶¨Òåʱ¸³Öµ
final int i; // ÒòΪҪÔÚ¹¹Ô캯ÊýÖнøÐгõʼ»¯£¬ËùÒÔ´Ë´¦±ã²»¿ÉÔÙ¸³Öµ
final List list; // ÒòΪҪÔÚ¹¹Ô캯ÊýÖнøÐгõʼ»¯£¬ËùÒÔ´Ë´¦±ã²»¿ÉÔÙ¸³Öµ
Bat() {
i = 100;
list = new LinkedList();
}
Bat(int ii, List l) {
i = ii;
list = l;
}
public static void main(String[] args) {
Bat b = new Bat();
b.list.add(new Bat());
// b.i=25;
// b.list=new ArrayList();
System.out.println("I=" + b.i + " List Type:" + b.list.getClass());
b = new Bat(23, new ArrayList());
b.list.add(new Bat());
System.out.println("I=" + b.i + " List Type:" + b.list.getClass());
}
}
½á¹û£º
I=100 List Type:class java.util.LinkedList
I=23 List Type:class java.util.ArrayList
ÔÚmain·½·¨ÖÐÓÐÁ½ÐÐÓï¾ä×¢Ê͵ôÁË£¬Èç¹ûÄãÈ¥µô×¢ÊÍ£¬³ÌÐò±ãÎÞ·¨Í¨¹ý±àÒ룬Õâ±ãÊÇ˵£¬²»ÂÛÊÇiµÄÖµ»òÊÇlistµÄÀàÐÍ£¬Ò»µ©³õʼ»¯£¬È·ÊµÎÞ·¨ÔÙ¸ü¸Ä¡£È»¶øb¿ÉÒÔͨ¹ýÖØÐ³õʼ»¯À´Ö¸¶¨iµÄÖµ»òlistµÄÀàÐÍ¡£
1.2 finalÒýÓÃ×ֶεÄÎÞЧ³õʼ»¯
ÒªÕýȷʹÓÃfinal×Ö¶ÎÓеãÂé·³£¬¶ÔÓÚÆä¹¹Ôì×ÓÄÜÅ׳öÒì³£µÄ¶ÔÏóÒýÓÃÀ´ËµÓÈÆäÈç´Ë¡£ÒòΪ final ×Ö¶ÎÔÚÿ¸ö¹¹ÔìÆ÷ÖбØÐëÖ»³õʼ»¯Ò»´Î£¬Èç¹û final ¶ÔÏóÒýÓõĹ¹ÔìÆ÷¿ÉÄÜÅ׳öÒì³££¬±àÒëÆ÷¿ÉÄܻᱨ´í£¬Ëµ¸Ã×Ö¶ÎûÓб»³õʼ»¯¡£±àÒëÆ÷Ò»°ã±È½ÏÖÇÄÜ»¯£¬×ãÒÔ·¢ÏÖÔÚÁ½¸ö»¥³â´úÂë·ÖÖ§£¨±ÈÈ磬if...else ¿é£©µÄÿ¸ö·ÖÖ§Öеijõʼ»¯Ç¡ºÃÖ»½øÐÐÁËÒ»´Î£¬µ«ÊÇËü¶Ô try...catch ¿éͨ³£²»»áÈç´Ë“¿íÈÝ”¡£
ÏÂÃæÕâ¶Î
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
Java´úÂëʵÏÖÒÀÀµ×¢Èë
2009-01-15 08:18:55
¡¡±êÇ©£ºÒÀÀµ×¢Èë¡¡¡¡¡¡[ÍÆË͵½¼¼ÊõȦ]
°æÈ¨ÉùÃ÷£ºÔ´´×÷Æ·£¬ÔÊÐí×ªÔØ£¬×ªÔØÊ±ÇëÎñ±ØÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕ Ôʼ³ö´¦ ¡¢×÷ÕßÐÅÏ¢ºÍ±¾ÉùÃ÷¡£·ñÔò½«×·¾¿·¨ÂÉÔðÈΡ£http://zhangjunhd.blog.51cto.com/113473/126545
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#de ......
package Demo;
// Java·ºÐÍÎÞ·¨ÏòÉÏתÐÍ
class Info23<T> {
private T var; // ¶¨Òå·ºÐͱäÁ¿
public void setVar(T var) {
this.var = var;
}
public T getVar() {
return this.var;
}
public String toString() { // Ö±½Ó´òÓ¡
return this.var.toString();
}
}
public class GenericsDem ......
package Demo;
// Java·ºÐͽӿÚ
interface Info24<T> { // ÔÚ½Ó¿ÚÉ϶¨Òå·ºÐÍ
public T getVar(); // ¶¨Òå³éÏó·½·¨£¬³éÏó·½·¨µÄ·µ»ØÖµ¾ÍÊÇ·ºÐÍÀàÐÍ
}
class InfoImp24<T> implements Info24<T> { // ¶¨Òå·ºÐͽӿڵÄ×ÓÀà
private T var; // ¶¨ÒåÊôÐÔ
public InfoImp24(T var) { // ͨ¹ý¹¹Ôì·½·¨É ......
ÀàµÄ³õʼ»¯ºÍ¶ÔÏó³õʼ»¯ÊÇ JVM ¹ÜÀíµÄÀàÐÍÉúÃüÖÜÆÚÖзdz£ÖØÒªµÄÁ½¸ö»·½Ú£¬Google ÁËÒ»±éÍøÂ磬ÓйØÀà×°ÔØ»úÖÆµÄÎÄÕµ¹ÊDz»ÉÙ£¬È»¶øÀà³õʼ»¯ºÍ¶ÔÏó³õʼ»¯µÄÎÄÕ²¢²»¶à£¬ÌرðÊÇ´Ó×Ö½ÚÂëºÍ JVM ²ã´ÎÀ´·ÖÎöµÄÎÄÕ¸üÊÇÏÊÓÐËù¼û¡£
±¾ÎÄÖ÷Òª¶ÔÀàºÍ¶ÔÏó³õʼ»¯È«¹ý³Ì½øÐзÖÎö£¬Í¨¹ýÒ»¸öʵ¼ÊÎÊÌâÒýÈ룬½«Ô´´úÂëת»»³É JVM ×Ö½ÚÂëºó£¬ ......