javaÃüÃû¹æ·¶_±à³Ì¹ßÀýºÍ´úÂë·¶Àý
1. ±à³Ì¹ßÀý(Programming Practices)
9.1 Ìṩ¶ÔʵÀýÒÔ¼°Àà±äÁ¿µÄ·ÃÎÊ¿ØÖÆ(Providing Access to Instance and Class Variables)
ÈôûÓÐ×ã¹»ÀíÓÉ£¬²»Òª°ÑʵÀý»òÀà±äÁ¿ÉùÃ÷Ϊ¹«ÓС£Í¨³££¬ÊµÀý±äÁ¿ÎÞÐèÏÔʽµÄÉèÖÃ(set)ºÍ»ñÈ¡(gotten)£¬Í¨³£Õâ×÷Ϊ·½·¨µ÷ÓõıßԵЧӦ (side effect)¶ø²úÉú¡£
Ò»¸ö¾ßÓй«ÓÐʵÀý±äÁ¿µÄÇ¡µ±Àý×Ó£¬ÊÇÀà½ö×÷ΪÊý¾Ý½á¹¹£¬Ã»ÓÐÐÐΪ¡£Ò༴£¬ÈôÄãҪʹÓÃÒ»¸ö½á¹¹(struct)¶ø·ÇÒ»¸öÀà(Èç¹ûjavaÖ§³Ö½á¹¹µÄ»°)£¬ÄÇô°ÑÀàµÄʵÀý±äÁ¿ÉùÃ÷Ϊ¹«ÓÐÊǺÏÊʵġ£
9.2 ÒýÓÃÀà±äÁ¿ºÍÀà·½·¨(Referring to Class Variables and Methods)
±ÜÃâÓÃÒ»¸ö¶ÔÏó·ÃÎÊÒ»¸öÀàµÄ¾²Ì¬±äÁ¿ºÍ·½·¨¡£Ó¦¸ÃÓÃÀàÃûÌæ´ú¡£ÀýÈ磺
classMethod(); //OK
AClass.classMethod(); //OK
anObject.classMethod(); //AVOID!
9.3 ³£Á¿(Constants)
λÓÚforÑ»·ÖÐ×÷Ϊ¼ÆÊýÆ÷ÖµµÄÊý×Ö³£Á¿£¬³ýÁË-1,0ºÍ1Ö®Í⣬²»Ó¦±»Ö±½ÓдÈë´úÂë¡£
9.4 ±äÁ¿¸³Öµ(Variable Assignments)
±ÜÃâÔÚÒ»¸öÓï¾äÖиø¶à¸ö±äÁ¿¸³ÏàͬµÄÖµ¡£ËüºÜÄѶÁ¶®¡£ÀýÈ磺
fooBar.fChar = barFoo.lchar = 'c'; // AVOID!
²»Òª½«¸³ÖµÔËËã·ûÓÃÔÚÈÝÒ×ÓëÏàµÈ¹ØÏµÔËËã·û»ìÏýµÄµØ·½¡£ÀýÈ磺
if (c++ = d++) { // AVOID! (Java disallows)
...
}
Ó¦¸Ãд³É
if ((c++ = d++) != 0) {
...
}
²»ÒªÊ¹ÓÃÄÚǶ(embedded)¸³ÖµÔËËã·ûÊÔͼÌá¸ßÔËÐÐʱµÄЧÂÊ£¬ÕâÊDZàÒëÆ÷µÄ¹¤×÷¡£ÀýÈ磺
d = (a = b + c) + r; // AVOID!
Ó¦¸Ãд³É
a = b + c;
d = a + r;
9.5 ÆäËü¹ßÀý(Miscellaneous Practices)
9.5.1 Ô²À¨ºÅ(Parentheses)
Ò»°ã¶øÑÔ£¬ÔÚº¬ÓжàÖÖÔËËã·ûµÄ±í´ïʽÖÐʹÓÃÔ²À¨ºÅÀ´±ÜÃâÔËËã·ûÓÅÏȼ¶ÎÊÌ⣬ÊǸöºÃ·½·¨¡£¼´Ê¹ÔËËã·ûµÄÓÅÏȼ¶¶ÔÄã¶øÑÔ¿ÉÄܺÜÇå³þ£¬µ«¶ÔÆäËûÈËδ±ØÈç´Ë¡£Äã²»ÄܼÙÉè±ðµÄ³ÌÐòÔ±ºÍÄãÒ»ÑùÇå³þÔËËã·ûµÄÓÅÏȼ¶¡£
if (a == b && c == d) // AVOID!
if ((a == b) && (c == d)) // RIGHT
9.5.2 ·µ»ØÖµ(Returning Values)
Éè·¨ÈÃÄãµÄ³ÌÐò½á¹¹·ûºÏÄ¿µÄ¡£ÀýÈ磺
if (booleanExpression) {
return true;
} else {
return false;
}
Ó¦¸Ã´úÖ®ÒÔÈçÏ·½·¨£º
return booleanExpression;
ÀàËÆµØ£º
if (condition) {
return x;
}
return y;
Ó¦¸Ãд×ö£º
return (condition ? x : y);
9.5.3 &
Ïà¹ØÎĵµ£º
class Super { static int taxi = 1729; }
class Sub extends Super {
static { System.out.print("Sub "); }
}
class Test {
public static void main(String[] args) {
System.out.println(Sub.taxi);
}
}
Êä³ö£º1729
֪ʶҪµã£º
A reference to a class field causes initialization of ......
ÏÈд³ÌÐò£¬ÔÚÀ´½âÊͼòµ¥¹¤³§ºÍ¹¤³§·½·¨Ä£Ê½¡£
1¡¢¶¨ÒåÒ»¸öÆû³µ½Ó¿Ú
package com.beckham.factory;
/**
* @author ×÷Õß<Beckham>
* Email:gaowm0207@gmail.com
* Jan 26, 2010 2:35:15 PM
* Version:1.0
*/
public interface Car {
public void start() ;
}
½Ó¿ÚÀïÃæ¶¨ÒåÒ»¸ö·½·¨£ºstart( ......
JavaÓÐÁ½ÖÖThread£º“ÊØ»¤Ïß³ÌDaemon”Óë“Óû§Ïß³ÌUser”¡£
ÎÒÃÇ֮ǰ¿´µ½µÄÀý×Ó¶¼ÊÇÓû§£¬ÊØ»¤Ïß³ÌÊÇÒ»ÖÖ“ÔÚºǫ́ÌṩͨÓÃÐÔÖ§³Ö”µÄỊ̈߳¬Ëü²¢²»ÊôÓÚ³ÌÐò±¾Ìå¡£
´Ó×ÖÃæÉÏÎÒÃǺÜÈÝÒ×½«ÊØ»¤Ïß³ÌÀí½â³ÉÊÇÓÉÐéÄâ»ú£¨virtual machine£©ÔÚÄÚ²¿´´½¨µÄ£¬¶øÓû§Ïß³ÌÔòÊÇ×Ô¼ºËù´´½¨µÄ¡£ÊÂʵ²¢²»Ê ......
[ÕªÒª]
ÌáÆðJavaÄÚ²¿ÀࣨInner
Class£©¿ÉÄܺܶàÈ˲»Ì«ÊìϤ£¬Êµ¼ÊÉÏÀàËÆµÄ¸ÅÄîÔÚC++ÀïÒ²ÓУ¬ÄǾÍÊÇǶÌ×ÀࣨNested
Class£©£¬¹ØÓÚÕâÁ½ÕßµÄÇø±ðÓëÁªÏµ£¬ÔÚÏÂÎÄÖлáÓжԱȡ£
[¹Ø¼ü×Ö] Java
ÄÚ²¿Àà
ÄäÃûÀà
¡¡¡¡ÓÐÈË»áÎÊ£¬Èç¹ûÄÚ²¿ÀàÀïµÄÒ»¸ö³ÉÔ±±äÁ¿ÓëÍⲿÀàµÄÒ»¸ö³ÉÔ±±äÁ¿Í¬Ãû£¬Ò²¼´ÍⲿÀàµÄͬÃû³ÉÔ±±äÁ¿±»ÆÁ±ÎÁ ......
Following codes will show you how to query the first record from DB using Java Data Bean. package com ;
import com.siebel.data.*;
import com.siebel.data.SiebelException;
public class DataBeanDemo {
private SiebelDataBean m_dataBean = null;
private SiebelBusObject m_busObject = null;
......