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

ΪʲôJavaÖм̳ÐÊÇÓꦵÄ

·¢²¼Ê±¼ä:2005-10-31 22:09:29À´Ô´:ºìÁª×÷Õß:wade9900
¸ÅÊö

¡¡¡¡´ó¶àÊýºÃµÄÉè¼ÆÕßÏó¶ã±ÜÎÁÒßÒ»ÑùÀ´±ÜÃâʹÓÃʵÏּ̳Ð(extends ¹Øϵ)¡£Êµ¼ÊÉÏ80%µÄ´úÂëÓ¦¸ÃÍêÈ«ÓÃinterfacesд£¬¶ø²»ÊÇͨ¹ýextends¡£¡°JAVAÉè¼Æģʽ¡±Ò»ÊéÏêϸ²ûÊöÁËÔõÑùÓýӿڼ̳дúÌæʵÏּ̳С£ÕâƪÎÄÕÂÃèÊöÉè¼ÆÕßΪʲô»áÕâô×÷¡£

¡¡¡¡ExtendsÊÇÓк¦µÄ£»Ò²Ðí¶ÔÓÚCharles MansonÕâ¸ö¼¶±ðµÄ²»ÊÇ£¬µ«ÊÇ×ã¹»Ôã¸âµÄËüÓ¦¸ÃÔÚÈκοÉÄܵÄʱºò±»±Ü¿ª¡£¡°JAVAÉè¼Æģʽ¡±Ò»Ê黨Á˺ܴóµÄ²¿·ÖÌÖÂÛÓÃinterface¼Ì³Ð´úÌæʵÏּ̳С£

¡¡¡¡ºÃµÄÉè¼ÆÕßÔÚËûµÄ´úÂëÖУ¬´ó²¿·ÖÓÃinterface£¬¶ø²»ÊǾßÌåµÄ»ùÀà¡£±¾ÎÄÌÖÂÛΪʲôÉè¼ÆÕß»áÕâÑùÑ¡Ôñ£¬²¢ÇÒÒ²½éÉÜһЩ»ùÓÚinterfaceµÄ±à³Ì»ù´¡¡£

¡¡¡¡
¡¡¡¡½Ó¿Ú£¨Interface£©ºÍÀࣨClass£©

¡¡¡¡Ò»´Î£¬ÎҲμÓÒ»¸öJavaÓû§×éµÄ»áÒé¡£ÔÚ»áÒéÖУ¬Jams Gosling£¨JavaÖ®¸¸£©×ö·¢ÆðÈ˽²»°¡£ÔÚÄÇÁîÈËÄÑÍüµÄQ&A²¿·Ö£¬ÓÐÈËÎÊËû£º¡°Èç¹ûÄãÖØй¹ÔìJava£¬ÄãÏë¸Ä±äʲô£¿¡±¡£¡°ÎÒÏëÅ×Æúclasses¡±Ëû»Ø´ð¡£ÔÚЦÉùƽϢºó£¬Ëü½âÊÍ˵£¬ÕæÕýµÄÎÊÌâ²»ÊÇÓÉÓÚclass±¾Éí£¬¶øÊÇʵÏּ̳Ð(extends ¹Øϵ)¡£½Ó¿Ú¼Ì³Ð£¨implements¹Øϵ£©ÊǸüºÃµÄ¡£ÄãÓ¦¸Ã¾¡¿ÉÄܵıÜÃâʵÏּ̳С£

¡¡¡¡Ê§È¥ÁËÁé»îÐÔ

¡¡¡¡ÎªÊ²Ã´ÄãÓ¦¸Ã±ÜÃâʵÏּ̳ÐÄØ£¿µÚÒ»¸öÎÊÌâÊÇÃ÷È·µÄʹÓþßÌåÀàÃû½«Äã¹Ì¶¨µ½Ìض¨µÄʵÏÖ£¬¸øµ×²ãµÄ¸Ä±äÔö¼ÓÁ˲»±ØÒªµÄÀ§ÄÑ¡£

¡¡¡¡ÔÚµ±Ç°µÄÃô½Ý±à³Ì·½·¨ÖУ¬ºËÐÄÊDz¢ÐеÄÉè¼ÆºÍ¿ª·¢µÄ¸ÅÄî¡£ÔÚÄãÏêϸÉè¼Æ³ÌÐòÇ°£¬Ä㿪ʼ±à³Ì¡£Õâ¸ö¼¼Êõ²»Í¬ÓÚ´«Í³·½·¨µÄÐÎʽ----´«Í³µÄ·½Ê½ÊÇÉè¼ÆÓ¦¸ÃÔÚ±àÂ뿪ʼǰÍê³É----µ«ÊÇÐí¶à³É¹¦µÄÏîÄ¿ÒѾ­Ö¤Ã÷ÄãÄܹ»¸ü¿ìËٵĿª·¢¸ßÖÊÁ¿´úÂ룬Ïà¶ÔÓÚ´«Í³µÄ°´²¿¾Í°àµÄ·½·¨¡£µ«ÊÇÔÚ²¢Ðпª·¢µÄºËÐÄÊÇÖ÷ÕÅÁé»îÐÔ¡£Äã²»µÃ²»ÒÔijһÖÖ·½Ê½Ð´ÄãµÄ´úÂëÒÔÖÁÓÚ×îз¢ÏÖµÄÐèÇóÄܹ»¾¡¿ÉÄÜûÓÐÍ´¿àµÄºÏ²¢µ½ÒÑÓеĴúÂëÖС£

¡¡¡¡Ê¤ÓÚʵÏÖÄãÒ²ÐíÐèÒªµÄÌØÕ÷£¬ÄãÖ»ÐèʵÏÖÄãÃ÷È·ÐèÒªµÄÌØÕ÷£¬¶øÇÒÊʶȵĶԱ仯µÄ°üÈÝ¡£Èç¹ûÄãûÓÐÕâÖÖÁé»î£¬²¢ÐеĿª·¢£¬ÄǼòÖ±²»¿ÉÄÜ¡£

¡¡¡¡¶ÔÓÚIntefaceµÄ±à³ÌÊÇÁé»î½á¹¹µÄºËÐÄ¡£ÎªÁË˵Ã÷Ϊʲô£¬ÈÃÎÒÃÇ¿´Ò»Ïµ±Ê¹ÓÃËüÃǵÄʱºò£¬»á·¢Éúʲô¡£¿¼ÂÇÏÂÃæµÄ´úÂ룺

¡¡¡¡f()
¡¡¡¡{
???LinkedList list = new LinkedList();
¡¡¡¡?//...
??¡¡g( list );
¡¡¡¡}

¡¡¡¡g( LinkedList list )
¡¡¡¡{
¡¡¡¡?list.add( ... );
¡¡¡¡?g2( list )
¡¡¡¡}

¡¡¡¡ÏÖÔÚ£¬¼ÙÉèÒ»¸ö¶ÔÓÚ¿ìËÙ²éѯµÄÐèÇó±»Ìá³ö£¬ÒÔÖÁÓÚÕâ¸öLinkedList²»Äܹ»½â¾ö¡£ÄãÐèÒªÓÃHashSetÀ´´úÌæËü¡£ÔÚÒÑÓдúÂëÖУ¬±ä»¯²»Äܹ»¾Ö²¿»¯£¬ÒòΪÄã²»½ö½öÐèÒªÐÞ¸Äf()Ò²ÐèÒªÐÞ¸Äg()£¨Ëü´øÓÐLinkedList²ÎÊý£©£¬²¢ÇÒ»¹ÓÐg()°ÑÁÐ±í´«µÝ¸øµÄÈκδúÂë¡£ÏóÏÂÃæÕâÑùÖØд´úÂë:

¡¡¡¡f()
¡¡¡¡{
???Collection list = new LinkedList();
??¡¡//...
¡¡¡¡?g( list );
¡¡¡¡}

¡¡¡¡g( Collection list )
¡¡¡¡{
¡¡¡¡?list.add( ... );
¡¡¡¡?g2( list )
¡¡¡¡}

¡¡¡¡ÕâÑùÐÞ¸ÄLinked list³Éhash£¬¿ÉÄÜÖ»ÊǼòµ¥µÄÓÃnew HashSet()´úÌænew LinkedList()¡£¾ÍÕâÑù¡£Ã»ÓÐÆäËûµÄÐèÒªÐ޸ĵĵط½¡£ ×÷ΪÁíÒ»¸öÀý×Ó£¬±È½ÏÏÂÃæÁ½¶Î´úÂ룺

¡¡¡¡f()
¡¡¡¡{
???Collection c = new HashSet();
¡¡¡¡?//...
¡¡¡¡?g( c );
¡¡¡¡}

¡¡¡¡g( Collection c )
¡¡¡¡{
¡¡¡¡?for( Iterator i = c.iterator(); i.hasNext() )
¡¡¡¡?do_something_with( i.next() );
¡¡¡¡}

?¡¡ºÍ

¡¡¡¡f2()
¡¡¡¡{
???Collection c = new HashSet();
¡¡¡¡?//...
¡¡¡¡?g2( c.iterator() );
¡¡¡¡}

¡¡¡¡g2( Iterator i )
¡¡¡¡{
???while( i.hasNext() )
??¡¡do_something_with( i.next() );
¡¡¡¡}

¡¡¡¡g2()·½·¨ÏÖÔÚÄܹ»±éÀúCollectionµÄÅÉÉú£¬¾ÍÏñÄãÄܹ»´ÓMapÖеõ½µÄ¼üÖµ¶Ô¡£ÊÂʵÉÏ£¬ÄãÄܹ»Ð´iterator£¬Ëü²úÉúÊý¾Ý£¬´úÌæ±éÀúÒ»¸öCollection¡£ÄãÄܹ»Ð´iterator£¬Ëü´Ó²âÊԵĿò¼Ü»òÕßÎļþÖеõ½ÐÅÏ¢¡£Õâ»áÓо޴óµÄÁé»îÐÔ¡£

¡¡¡¡ñîºÏ

¡¡¡¡¶ÔÓÚʵÏּ̳У¬Ò»¸ö¸ü¼Ó¹Ø¼üµÄÎÊÌâÊÇñîºÏ---ÁîÈË·³ÔêµÄÒÀÀµ£¬¾ÍÊÇÄÇÖÖ³ÌÐòµÄÒ»²¿·Ö¶ÔÓÚÁíÒ»²¿·ÖµÄÒÀÀµ¡£È«¾Ö±äÁ¿Ìṩ¾­µäµÄÀý×Ó£¬Ö¤Ã÷ΪʲôǿñîºÏ»áÒýÆðÂé·³¡£ÀýÈ磬Èç¹ûÄã¸Ä±äÈ«¾Ö±äÁ¿µÄÀàÐÍ£¬ÄÇôËùÓÐÓõ½Õâ¸ö±äÁ¿µÄº¯ÊýÒ²Ðí¶¼±»Ó°Ï죬ËùÒÔËùÓÐÕâЩ´úÂ붼Ҫ±»¼ì²é£¬±ä¸üºÍÖØвâÊÔ¡£¶øÇÒ£¬ËùÓÐÓõ½Õâ¸ö±äÁ¿µÄº¯Êýͨ¹ýÕâ¸ö±äÁ¿Ï໥ñîºÏ¡£Ò²¾ÍÊÇ£¬Èç¹ûÒ»¸ö±äÁ¿ÖµÔÚÄÑÒÔʹÓõÄʱºò±»¸Ä±ä£¬Ò»¸öº¯ÊýÒ²Ðí¾Í²»ÕýÈ·µÄÓ°ÏìÁËÁíÒ»¸öº¯ÊýµÄÐÐΪ¡£Õâ¸öÎÊÌâÏÔÖøµÄÒþ²ØÓÚ¶àÏ̵߳ijÌÐò¡£

¡¡¡¡×÷Ϊһ¸öÉè¼ÆÕߣ¬ÄãÓ¦¸ÃŬÁ¦×îС»¯ñîºÏ¹Øϵ¡£Äã²»ÄÜÒ»²¢Ïû³ýñîºÏ£¬ÒòΪ´ÓÒ»¸öÀàµÄ¶ÔÏóµ½ÁíÒ»¸öÀàµÄ¶ÔÏóµÄ·½·¨µ÷ÓÃÊÇÒ»¸öËÉñîºÏµÄÐÎʽ¡£Äã²»¿ÉÄÜÓÐÒ»¸ö³ÌÐò£¬ËüûÓÐÈκεÄñîºÏ¡£È»¶ø£¬ÄãÄܹ»Í¨¹ý×ñÊØOO¹æÔò£¬×îС»¯Ò»¶¨µÄñîºÏ£¨×îÖØÒªµÄÊÇ£¬Ò»¸ö¶ÔÏóµÄʵÏÖÓ¦¸ÃÍêÈ«Òþ²ØÓÚʹÓÃËûµÄ¶ÔÏ󣩡£ÀýÈ磬һ¸ö¶ÔÏóµÄʵÀý±äÁ¿£¨²»Êdz£Á¿µÄ³ÉÔ±Óò£©£¬Ó¦¸Ã×ÜÊÇprivate¡£ÎÒÒâ˼ÊÇij¶ÎʱÆڵģ¬ÎÞÀýÍâµÄ£¬²»¶ÏµÄ¡££¨ÄãÄܹ»Å¼¶ûÓÐЧµØʹÓÃprotected·½·¨£¬µ«ÊÇprotectedʵÀý±äÁ¿ÊÇ¿ÉÔ÷µÄÊ£©Í¬ÑùµÄÔ­ÒòÄãÓ¦¸Ã²»ÓÃget/setº¯Êý---ËûÃǶÔÓÚÊÇÒ»¸öÓò¹«ÓÃÖ»ÊÇʹÈ˸е½¹ýÓÚ¸´Ôӵķ½Ê½£¨¾¡¹Ü·µ»ØÐÞÊεĶÔÏó¶ø²»ÊÇ»ù±¾ÀàÐÍÖµµÄ·ÃÎʺ¯ÊýÊÇÔÚijЩÇé¿öÏÂÊÇÓÉÔ­ÒòµÄ£¬ÄÇÖÖÇé¿öÏ£¬·µ»ØµÄ¶ÔÏóÀàÊÇÒ»¸öÔÚÉè¼ÆʱµÄ¹Ø¼ü³éÏ󣩡£

¡¡¡¡ÕâÀÎÒ²»ÊÇÊéÉúÆø¡£ÔÚÎÒ×Ô¼ºµÄ¹¤×÷ÖУ¬ÎÒ·¢ÏÖÒ»¸öÖ±½ÓµÄÏ໥¹ØϵÔÚÎÒOO·½·¨µÄÑϸñÖ®¼ä£¬¿ìËÙ´úÂ뿪·¢ºÍÈÝÒ׵ĴúÂëʵÏÖ¡£ÎÞÂÛʲôʱºòÎÒÎ¥·´ÖÐÐĵÄOOÔ­Ôò£¬ÈçʵÏÖÒþ²Ø£¬ÎÒ½á¹ûÖØдÄǸö´úÂ루һ°ãÒòΪ´úÂëÊDz»¿Éµ÷ÊԵģ©¡£ÎÒûÓÐʱ¼äÖØд´úÂ룬ËùÒÔÎÒ×ñÑ­ÄÇЩ¹æÔò¡£ÎÒ¹ØÐĵÄÍêȫʵÓÃ--ÎҶԸɾ»µÄÔ­ÒòûÓÐÐËȤ¡£ ¡¡¡¡

¡¡¡¡´àÈõµÄ»ùÀàÎÊÌâ

¡¡¡¡ÏÖÔÚ£¬ÈÃÎÒÃÇÓ¦ÓÃñîºÏµÄ¸ÅÄîµ½¼Ì³Ð¡£ÔÚÒ»¸öÓÃextendsµÄ¼Ì³ÐʵÏÖϵͳÖУ¬ÅÉÉúÀàÊǷdz£½ôÃܵĺͻùÀàñîºÏ£¬µ±ÇÒÕâÖÖ½ôÃܵÄÁ¬½ÓÊDz»ÆÚÍûµÄ¡£Éè¼ÆÕßÒѾ­Ó¦ÓÃÁ˴ºš°´àÈõµÄ»ùÀàÎÊÌ⡱ȥÃèÊöÕâ¸öÐÐΪ¡£»ù´¡Àà±»ÈÏΪÊÇ´àÈõµÄÊÇ£¬ÒòΪÄãÔÚ¿´ÆðÀ´°²È«µÄÇé¿öÏÂÐ޸ĻùÀ࣬µ«Êǵ±´ÓÅÉÉúÀà¼Ì³Ðʱ£¬ÐµÄÐÐΪҲÐíÒýÆðÅÉÉúÀà³öÏÖ¹¦ÄÜÎÉÂÒ¡£Äã²»ÄÜͨ¹ý¼òµ¥µÄÔÚ¸ôÀëϼì²é»ùÀàµÄ·½·¨À´·Ö±æ»ùÀàµÄ±ä»¯ÊÇ°²È«µÄ£»¶øÊÇÄãÒ²±ØÐë¿´£¨ºÍ²âÊÔ£©ËùÓÐÅÉÉúÀà¡£¶øÇÒ£¬Äã±ØÐë¼ì²éËùÓеĴúÂ룬ËüÃÇÒ²ÓÃÔÚ»ùÀàºÍÅÉÉúÀà¶ÔÏóÖУ¬ÒòΪÕâ¸ö´úÂëÒ²Ðí±»ÐµÄÐÐΪËù´òÆÆ¡£Ò»¸ö¶ÔÓÚ»ù´¡ÀàµÄ¼òµ¥±ä»¯¿ÉÄܵ¼ÖÂÕû¸ö³ÌÐò²»¿É²Ù×÷¡£

¡¡¡¡ÈÃÎÒÃÇÒ»Æð¼ì²é´àÈõµÄ»ùÀàºÍ»ùÀàñîºÏµÄÎÊÌâ¡£ÏÂÃæµÄÀàextendsÁËJavaµÄArrayListÀàȥʹËüÏñÒ»¸östackÀ´ÔËת£º

¡¡¡¡class Stack extends ArrayList
¡¡¡¡{ private int stack_pointer = 0;
¡¡¡¡ public void push( Object article )
¡¡¡¡ { add( stack_pointer++, article );
¡¡¡¡ }¡¡¡¡

¡¡¡¡ public Object pop()
¡¡¡¡ { return remove( --stack_pointer );
¡¡¡¡ }

¡¡¡¡ public void push_many( Object[] articles )
¡¡¡¡ { for( int i = 0; i < articles.length; ++i )
¡¡¡¡ push( articles[i] );
¡¡¡¡ }
¡¡¡¡}¡¡¡¡

¡¡¡¡ÉõÖÁÒ»¸öÏóÕâÑù¼òµ¥µÄÀàÒ²ÓÐÎÊÌ⡣˼¿¼µ±Ò»¸öÓû§Æ½ºâ¼Ì³ÐºÍÓÃArrayListµÄclear()·½·¨È¥µ¯³ö¶Ñջʱ£º

¡¡¡¡Stack a_stack = new Stack();
¡¡¡¡a_stack.push("1");
¡¡¡¡a_stack.push("2");
¡¡¡¡a_stack.clear();¡¡¡¡

¡¡¡¡Õâ¸ö´úÂë³É¹¦±àÒ룬µ«ÊÇÒòΪ»ùÀ಻֪µÀ¹ØÓÚstackÖ¸Õë¶ÑÕ»µÄÇé¿ö,Õâ¸östack¶ÔÏóµ±Ç°ÔÚÒ»¸ö䶨ÒåµÄ״̬¡£ÏÂÒ»¸ö¶ÔÓÚpush£¨£©µ÷ÓðÑеÄÏî·ÅÈëË÷Òý2µÄλÖᣣ¨stack_pointerµÄµ±Ç°Öµ£©£¬ËùÒÔstackÓÐЧµØÓÐÈý¸öÔªËØ-ϱßÁ½¸öÊÇÀ¬»ø¡££¨JavaµÄstackÀàÕýÊÇÓÐÕâ¸öÎÊÌ⣬²»ÒªÓÃËü£©.

¡¡¡¡¶ÔÕâ¸öÁîÈËÌÖÑáµÄ¼Ì³ÐµÄ·½·¨ÎÊÌâµÄ½â¾ö°ì·¨ÊÇΪStack¸²¸ÇËùÓеÄArrayList·½·¨£¬ÄÇÄܹ»ÐÞ¸ÄÊý×éµÄ״̬£¬ËùÒÔ¸²¸ÇÕýÈ·µÄ²Ù×÷StackÖ¸Õë»òÕßÅ׳öÒ»¸öÀýÍâ¡£(removeRange()·½·¨¶ÔÓÚÅ׳öÒ»¸öÀýÍâÒ»¸öºÃµÄºòÑ¡·½·¨)¡£

¡¡¡¡Õâ¸ö·½·¨ÓÐÁ½¸öȱµã¡£µÚÒ»£¬Èç¹ûÄ㸲¸ÇÁËËùÓеĶ«Î÷£¬Õâ¸ö»ùÀàÓ¦¸ÃÕæÕýµÄÊÇÒ»¸öinterface£¬¶ø²»ÊÇÒ»¸öclass¡£Èç¹ûÄã²»ÓÃÈκμ̳з½·¨£¬ÔÚʵÏּ̳ÐÖоÍûÓÐÕâÒ»µã¡£µÚ¶þ£¬¸üÖØÒªµÄÊÇ£¬Äã²»Äܹ»ÈÃÒ»¸östackÖ§³ÖËùÓеÄArrayList·½·¨¡£ÀýÈ磬ÁîÈË·³ÄÕµÄremoveRange()ûÓÐʲô×÷Óá£Î¨Ò»ÊµÏÖÎÞÓ÷½·¨µÄºÏÀíµÄ;¾¶ÊÇʹËüÅ׳öÒ»¸öÀýÍ⣬ÒòΪËüÓ¦¸ÃÓÀÔ¶²»±»µ÷Óá£Õâ¸ö·½·¨ÓÐЧµÄ°Ñ±àÒë´íÎó³ÉΪÔËÐдíÎó¡£²»ºÃµÄ·½·¨ÊÇ£¬Èç¹û·½·¨Ö»ÊDz»±»¶¨Ò壬±àÒëÆ÷»áÊä³öÒ»¸ö·½·¨Î´ÕÒµ½µÄ´íÎó¡£Èç¹û·½·¨´æÔÚ£¬µ«ÊÇÅ׳öÒ»¸öÀýÍ⣬ÄãÖ»ÓÐÔÚ³ÌÐòÕæÕýµÄÔËÐÐʱ£¬Äã²ÅÄܹ»·¢ÏÖµ÷ÓôíÎó¡£

¡¡¡¡¶ÔÓÚÕâ¸ö»ùÀàÎÊÌâµÄÒ»¸ö¸üºÃµÄ½â¾ö°ì·¨ÊÇ·â×°Êý¾Ý½á¹¹´úÌæÓü̳С£ÕâÊÇеĺ͸ĽøµÄStackµÄ°æ±¾£º

¡¡¡¡class Stack
¡¡¡¡{
¡¡¡¡ private int stack_pointer = 0;
¡¡¡¡ private ArrayList the_data = new ArrayList();
¡¡¡¡ public void push( Object article )
¡¡¡¡{
¡¡¡¡ the_data.add( stack_poniter++, article );
¡¡¡¡}¡¡¡¡

¡¡¡¡public Object pop()
¡¡¡¡{
¡¡¡¡ return the_data.remove( --stack_pointer );
¡¡¡¡}¡¡

¡¡¡¡public void push_many( Object[] articles )
¡¡¡¡{
¡¡¡¡ for£¨ int i = 0; i < o.length; ++i £©
¡¡¡¡ push( articles[i] );
¡¡¡¡}
¡¡¡¡}¡¡¡¡

¡¡¡¡µ½ÏÖÔÚΪֹ£¬Ò»Ö±¶¼²»´í£¬µ«ÊÇ¿¼ÂÇ´àÈõµÄ»ùÀàÎÊÌ⣬ÎÒÃÇ˵ÄãÏëÒªÔÚstack´´½¨Ò»¸ö±äÁ¿£¬ ÓÃËüÔÚÒ»¶ÎÖÜÆÚÄÚ¸ú×Ù×î´óµÄ¶ÑÕ»³ß´ç¡£Ò»¸ö¿ÉÄܵÄʵÏÖÒ²ÐíÏóÏÂÃæÕâÑù:
¡¡¡¡class Monitorable_stack extends Stack
¡¡¡¡{
¡¡¡¡ private int high_water_mark = 0;
¡¡¡¡ private int current_size;
¡¡¡¡ public void push( Object article )
¡¡¡¡ {
¡¡¡¡ if( ++current_size > high_water_mark )
¡¡¡¡ high_water_mark = current_size;
¡¡¡¡ super.push( article );
¡¡¡¡ }

¡¡¡¡ publish Object pop()
¡¡¡¡ {
¡¡¡¡ --current_size;
¡¡¡¡ return super.pop();
¡¡¡¡ }¡¡¡¡

¡¡¡¡ public int maximum_size_so_far()
¡¡¡¡ {
¡¡¡¡ return high_water_mark;
¡¡¡¡ }
¡¡¡¡}¡¡

¡¡¡¡Õâ¸öÐÂÀàÔËÐеĺܺã¬ÖÁÉÙÊÇÒ»¶Îʱ¼ä¡£²»ÐÒµÄÊÇ£¬Õâ¸ö´úÂë·¢¾òÁËÒ»¸öÊÂʵ£¬push_many()ͨ¹ýµ÷ÓÃpush()À´ÔËÐС£Ê×ÏÈ£¬Õâ¸öϸ½Ú¿´ÆðÀ´²»ÊÇÒ»¸ö»µµÄÑ¡Ôñ¡£Ëü¼ò»¯ÁË´úÂ룬²¢ÇÒÄãÄܹ»µÃµ½push()µÄÅÉÉúÀà°æ±¾£¬ÉõÖÁµ±Monitorable_stackͨ¹ýStackµÄ²Î¿¼À´·ÃÎʵÄʱºò£¬ÒÔÖÁÓÚhigh_water_markÄܹ»ÕýÈ·µÄ¸üС£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 2 ÌõÆÀÂÛ

  1. honglianqxw123 ÓÚ 2012-04-05 10:25:51·¢±í:

    ѧϰÁË¡£Ð»Ð»¡£

  2. lgcHR ÓÚ 2011-07-13 18:49:30·¢±í:

    ¶àÓöÔÏóÒÀÀµ¼´¶ÔÏóµÄ×éºÏ²ÅÊÇÍõµÀ