ºìÁªLinuxÃÅ»§
Linux°ïÖú

¹¹Ôìjavaº¯Êý

·¢²¼Ê±¼ä:2006-05-03 14:53:14À´Ô´:ºìÁª×÷Õß:reing
ÿ´ÎÔÚ´´½¨ÊµÀý±äÁ¿£¬¶ÔÀàÖеÄËùÓбäÁ¿¶¼Òª³õʼ»¯ÊǺܷ¦Î¶µÄ¡£¼´Ê¹Äã¶ÔsetDim ( ) ÕâÑùµÄ·½·¨Ôö¼ÓÓÐÓõŦÄÜʱ£¬ÄãÒ²²»µÃ²»ÕâÑù×ö¡£Èç¹ûÔÚÒ»¸ö¶ÔÏó×î³õ±»´´½¨Ê±¾Í°Ñ¶ÔËüµÄÉèÖÃ×öºÃ£¬ÄÇÑùµÄ»°£¬³ÌÐò½«¸ü¼òµ¥²¢ÇÒ¸ü¼òÃ÷¡£ÒòΪ¶Ô³õʼ»¯µÄÒªÇóÊǹ²Í¬µÄ£¬Java ÔÊÐí¶ÔÏóÔÚËûÃDZ»´´Ôìʱ³õʼ»¯×Ô¼º¡£ÕâÖÖ×Ô¶¯µÄ³õʼ»¯ÊÇͨ¹ýʹÓù¹Ô캯ÊýÀ´Íê³ÉµÄ¡£

¹¹Ô캯Êý£¨constructor £©ÔÚ¶ÔÏó´´½¨Ê±³õʼ»¯¡£ËüÓëËüµÄÀàͬÃû£¬ËüµÄÓï·¨Óë·½·¨ÀàËÆ¡£Ò»µ©¶¨ÒåÁ˹¹Ô캯Êý£¬ÔÚ¶ÔÏó´´½¨ºó£¬ÔÚnewÔËËã·ûÍê³ÉÇ°£¬¹¹Ô캯ÊýÁ¢¼´×Ô¶¯µ÷Ó᣹¹Ô캯Êý¿´ÆðÀ´ÓеãÆæ¹Ö£¬ÒòΪËüûÓÐÈκηµ»ØÖµ£¬¼´Ê¹ÊÇvoid Ð͵ÄÖµÒ²²»·µ»Ø¡£ÕâÊÇÒòΪһ¸öÀàµÄ¹¹Ô캯ÊýÄÚÒþ²ØµÄÀàÐÍÊÇËü×Ô¼ºÀàµÄÀàÐÍ¡£¹¹Ô캯ÊýµÄÈÎÎñ¾ÍÊdzõʼ»¯Ò»¸ö¶ÔÏóµÄÄÚ²¿×´Ì¬£¬ÒÔ±ãʹ´´½¨µÄʵÀý±äÁ¿Äܹ»ÍêÈ«³õʼ»¯£¬¿ÉÒÔ±»¶ÔÏóÂíÉÏʹÓá£

Äã¿ÉÒÔÖØдBox Àý×Ó³ÌÐò£¬ÒԱ㵱¶ÔÏó´´½¨Ê±ºÐ×ӵijߴçÄܱ»×Ô¶¯µØ³õʼ»¯¡£ÎªÁË´ïµ½Õâ¸öÄ¿µÄ£¬Óù¹Ô캯Êý´úÌæsetDim ¡£ÈÃÎÒÃÇÓɶ¨Òå½ö½ö½«Ã¿¸öºÐ×ӵijߴçÉèÖÃΪͬÑùÖµµÄÒ»¸ö¼òµ¥µÄ¹¹Ô캯Êý¿ªÊ¼¡£Ê¾ÀýÈçÏ£º

/* Here£¬Box uses a constructor to initialize the

dimensions of a box.
*/
class Box {

double width; double height; double depth;

// This is the constructor for Box.
Box() {
System.out.println("Constructing Box");

width = 10;
height = 10;
depth = 10;

}

// compute and return volume double volume() { return width * height * depth;}}

class BoxDemo6 {

public static void main(String args[]) { // declare£¬allocate£¬and initialize Box objectsBox mybox1 = new Box();Box mybox2 = new Box();

double vol;

// get volume of first box
vol = mybox1.volume();
System.out.println("Volume is " + vol);

// get volume of second box
vol = mybox2.volume();
System.out.println("Volume is " + vol);

}
}

ÔËÐиóÌÐò£¬²úÉúÈçϵĽá¹û£º

Constructing Box
Constructing Box
Volume is 1000.0
Volume is 1000.0

ÕýÈçÄãÄÜ¿´µ½µÄÒ»Ñù£¬µ±mybox1 ºÍmybox2 ±»´´½¨Ê±£¬ËüÃÇÁ½¸ö¶¼±»Box ¹¹Ô캯Êý³õʼ»¯¡£ÒòΪ¹¹Ô캯Êý½«ËùÓеĺÐ×Ó¸³ÎªÒ»ÑùµÄ³ß´ç£¬³¤¡¢¿í¡¢¸ß¶¼ÊÇ10£¬mybox1 ºÍ mybox2 ½«ÓÐÒ»ÑùµÄÌå»ý¡£ÔÚBox( )ÄÚµÄprintln( ) Óï¾ä½ö½öÊÇΪ˵Ã÷µÄÔµ¹Ê¡£´ó¶àÊý¹¹Ô캯ÊýµÄ¹¦Äܲ»ÏÔʾÈκζ«Î÷£¬ËûÃǽö¼òµ¥µØ³õʼ»¯Ò»¸ö¶ÔÏó¡£

ÔÚ¼ÌÐøѧϰǰ£¬ÈÃÎÒÃÇÔÙ¿¼²ìnewÔËËã·û¡£ÄãÒѾ­ÖªµÀ£¬µ±·ÖÅäÒ»¸ö¶ÔÏóʱ£¬Ê¹ÓÃÏÂÃæµÄͨÓøñʽ£º

class-var = new classname( );

ÏÖÔÚÄã¿ÉÒÔÀí½âΪʲôÔÚÀàµÄÃû×ÖºóÃæÐèÒªÔ²À¨ºÅ¡£Ô²À¨ºÅµÄ×÷ÓÃÊǵ÷ÓøÃÀàµÄ¹¹Ô캯Êý¡£ÕâÑù£¬ÔÚÏÂÃæµÄÕâÐÐÖÐ

Box mybox1 = new Box();

new Box( ) µ÷ÓÃBox( )¹¹Ô캯Êý¡£Èç¹ûÄã²»ÏÔʽΪÀඨÒåÒ»¸ö¹¹Ô캯Êý£¬Java ½«Îª¸ÃÀà´´½¨Ò»¸öĬÈϵĹ¹Ô캯Êý¡£Õâ¾ÍÊDZ¾ÐгÌÐòÔÚBoxÔçÆڰ汾ûÓж¨Òå¹¹Ô캯Êý¹¤×÷µÄÔ­Òò¡£
ĬÈϹ¹Ô캯Êý×Ô¶¯µØ½«ËùÓеÄʵÀý±äÁ¿³õʼ»¯ÎªÁ㡣ĬÈϹ¹Ô캯Êý¶Ô¼òµ¥µÄÀàÊÇ×ã¹»µÄ£¬µ«ÊǶԸü¸´ÔÓµÄÀàËü¾Í²»ÄÜÂú×ãÒªÇóÁË¡£Ò»µ©Ä㶨ÒåÁËÄã×Ô¼ºµÄ¹¹Ô캯Êý£¬Ä¬ÈϹ¹Ô캯Êý½«²»ÔÙ±»Ê¹Óá£

6.5.1 ´ø×Ô±äÁ¿µÄ¹¹Ô캯Êý
ËäÈ»ÔÚÇ°ÃæµÄÀý×ÓÖУ¬Box¹¹Ô캯Êýȷʵ³õʼ»¯ÁËBox¶ÔÏ󣬵«Ëü²»ÊǺÜÓÐÓã¬ÒòΪËùÓеĺÐ×Ó¶¼ÊÇÒ»ÑùµÄ³ß´ç¡£ÎÒÃÇËùÐèÒªµÄÊÇÒ»ÖÖÄܹ»¹¹Ôì¸÷ÖÖ¸÷Ñù³ß´çºÐ×Ó¶ÔÏóµÄ·½·¨¡£±È½ÏÈÝÒ׵Ľâ¾ö°ì·¨ÊǶԹ¹Ô캯ÊýÔö¼Ó×Ô±äÁ¿¡£Äã¿ÉÄÜÒѾ­²Âµ½£¬Õ⽫ʹËûÃǸüÓÐÓá£ÀýÈ磬ÏÂÃæ°æ±¾µÄBox³ÌÐò¶¨ÒåÁËÒ»¸ö×Ô±äÁ¿¹¹Ô캯Êý£¬Ëü¸ù¾Ý×Ô±äÁ¿ÉèÖÃÿ¸öÖ¸¶¨ºÐ×ӵijߴ硣Ìرð×¢ÒâBox ¶ÔÏóÊÇÈçºÎ±»´´½¨µÄ¡£

/* Here£¬Box uses a parameterized constructor to

initialize the dimensions of a box.
*/
class Box {

double width; double height; double depth;

// This is the constructor for Box.

Box(double w£¬double h£¬double d) {width = w;height = h;depth = d;

}

// compute and return volume double volume() { return width * height * depth;}}

class BoxDemo7 {

public static void main(String args[]) { // declare£¬allocate£¬and initialize Box objectsBox mybox1 = new Box(10£¬20£¬15);Box mybox2 = new Box(3£¬6£¬9);

double vol;

// get volume of first box
vol = mybox1.volume();
System.out.println("Volume is " + vol);

// get volume of second box
vol = mybox2.volume();
System.out.println("Volume is " + vol);

}
}

¸Ã³ÌÐòµÄÊä³öÈçÏ£º

Volume is 3000.0
Volume is 162.0

ÕýÈçÄã¿´µ½µÄ£¬Ã¿¸ö¶ÔÏó±»ËüµÄ¹¹Ô캯ÊýÖ¸¶¨µÄ²ÎÊý³õʼ»¯¡£ÀýÈ磬ÔÚÏÂÐÐÖУ¬

Box mybox1 = new Box(10£¬20£¬15);

µ±new´´½¨¶ÔÏóʱ£¬Öµ10£¬20£¬15´«µÝµ½Box() ¹¹Ô캯Êý¡£ÕâÑù£¬mybox1 µÄ¿½±´width ¡¢height ¡¢depth ½«·Ö±ð°üº¬Öµ10¡¢20¡¢15¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ