ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>在线一区亚洲,色播视频在线观看,在线播放91http://www.aygfsteel.com/yuanhuaming/category/2607.html无论是批评的åQŒèµžæ‰¬çš„åQŒæŒ‡ç€çš„都请EMAIL¾l™æˆ‘åQŒä½ çš„徏议将是我前进的动åŠ? <A href=mailto:yuanhuaming@56.com >联系æˆ?lt;/A>zh-cnWed, 28 Feb 2007 03:40:03 GMTWed, 28 Feb 2007 03:40:03 GMT60依赖注入åQˆIocåQ‰çš„3¿Uå®žçŽ°æ–¹å¼ï¼ˆä½œè€…ï¼š(x¨¬)夏昕åQ?/title><link>http://www.aygfsteel.com/yuanhuaming/archive/2006/02/14/30548.html</link><dc:creator>疯流成æ€?/dc:creator><author>疯流成æ€?/author><pubDate>Tue, 14 Feb 2006 02:16:00 GMT</pubDate><guid>http://www.aygfsteel.com/yuanhuaming/archive/2006/02/14/30548.html</guid><wfw:comment>http://www.aygfsteel.com/yuanhuaming/comments/30548.html</wfw:comment><comments>http://www.aygfsteel.com/yuanhuaming/archive/2006/02/14/30548.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/yuanhuaming/comments/commentRss/30548.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/yuanhuaming/services/trackbacks/30548.html</trackback:ping><description><![CDATA[<STRONG>                                                                                     Type1 接口注入</STRONG><BR>我们常常借助接口来将调用者与实现者分¼›…R€‚如:<BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000">    </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> ClassA {<BR>        </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> InterfaceB clzB;<BR>        </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> doSomething() {<BR>        Ojbect obj </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"><BR>        Class.forName(Config.BImplementation).newInstance();<BR>        clzB </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> (InterfaceB)obj;<BR>        clzB.doIt();<BR>        }<BR>        â€¦â€?BR>    }</SPAN></DIV>上面的代码中åQŒClassA依赖于InterfaceB的实玎ͼŒå¦‚何获得InterfaceB实现¾cȝš„实例åQŸä¼ ¾lŸçš„æ–ÒŽ(gu¨©)³•是在<BR>代码中创建InterfaceB实现¾cȝš„实例åQŒåƈž®†è“v赋予clzBã€?BR>而这样一来,ClassA在编译期即依赖于InterfaceBçš„å®žçŽ°ã€‚äØ“(f¨´)了将调用者与实现者在¾~–译期分¼›»ï¼ŒäºŽæ˜¯æœ?BR>了上面的代码åQŒæˆ‘们根据预先在配置文äšg中设定的实现¾cȝš„¾cÕd(Config.BImplementation)åQŒåЍæ€?BR>加蝲实现¾c»ï¼Œòq‰™€šè¿‡InterfaceBå¼ºåˆ¶è½¬åž‹åŽäØ“(f¨´)ClassA所用。这ž®±æ˜¯æŽ¥å£æ³¨å…¥çš„一个最原始的雏形ã€?BR>而对于一个Type1åž‹IOC容器而言åQŒåŠ è½½æŽ¥å£å®žçŽ°åÆˆåˆ›å¾å…¶å®žä¾‹çš„å·¥ä½œç”±å®¹å™¨å®Œæˆã€?BR>如下面这个类:<BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000">    </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> ClassA {<BR>        </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> InterfaceB clzB;<BR>        </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> Object doSomething(InterfaceB b) {<BR>        clzB </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> b;<BR>        </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> clzB.doIt();<BR>        }<BR>        â€¦â€?BR>    }</SPAN></DIV>在运行期åQŒInterfaceB实例ž®†ç”±å®¹å™¨æä¾›ã€?BR>Type1åž‹IOC发展较早åQˆæœ‰æ„æˆ–无意åQ‰ï¼Œåœ¨å®žé™…中得到了普遍应用,即ä‹É在IOC的概念尚未确立时åQŒè¿™æ ïL(f¨¥ng)š„<BR>æ–ÒŽ(gu¨©)³•也已¾lé¢‘¾Jå‡ºçŽ°åœ¨æˆ‘ä»¬çš„ä»£ç ä¸­ã€?BR>下面的代码大家应该非常熟æ‚(zh¨¨n)‰ï¼š(x¨¬)<BR> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000">    </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> MyServlet </SPAN><SPAN style="COLOR: #0000ff">extends</SPAN><SPAN style="COLOR: #000000"> HttpServlet {<BR>        </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> doGet(<BR>        HttpServletRequest request,<BR>        HttpServletResponse response)<BR>        </SPAN><SPAN style="COLOR: #0000ff">throws</SPAN><SPAN style="COLOR: #000000"> ServletException, IOException {<BR>        â€¦â€?BR>        }<BR>    }</SPAN></DIV>˜q™ä¹Ÿæ˜¯ä¸€ä¸ªType1 型注入,HttpServletRequestå’ŒHttpServletResponse实例由Servlet Container<BR>在运行期动态注入ã€?BR>另,Apache Avalon是一个较为典型的Type1åž‹IOC容器ã€?BR><BR> <HR> <STRONG>                                                                                  Type2 讑ր¼æ³¨å…?/STRONG><BR>在各¿Uç±»åž‹çš„依赖注入模式中,讑ր¼æ³¨å…¥æ¨¡å¼åœ¨å®žé™…开发中得到了最òq¿æ³›çš„应用(其中很大一部分å¾?BR>力于Spring框架的媄(ji¨£ng)响)(j¨ª)ã€?BR>在笔者看来,åŸÞZºŽè®„¡½®æ¨¡å¼çš„依赖注入机制更加直观、也更加自然。Quick Start中的½CÞZ¾‹åQŒå°±æ˜¯å…¸<BR>型的讄¡½®æ³¨å…¥åQŒå³é€šè¿‡¾cȝš„setteræ–ÒŽ(gu¨©)³•完成依赖关系的设¾|®ã€?BR><BR> <HR> <BR><STRONG>                                                                                  Type3 构造子注入</STRONG> <DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000"><STRONG> </STRONG>   </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> DIByConstructor {<BR>        </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">final</SPAN><SPAN style="COLOR: #000000"> DataSource dataSource;<BR>        </SPAN><SPAN style="COLOR: #0000ff">private</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">final</SPAN><SPAN style="COLOR: #000000"> String message;<BR>        </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> DIByConstructor(DataSource ds, String msg) {<BR>        </SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.dataSource </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> ds;<BR>        </SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.message </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> msg;<BR>        }<BR>        â€¦â€?BR>    }</SPAN></DIV>构造子注入åQŒå³é€šè¿‡æž„造函数完成依赖关¾pȝš„讑֮šåQŒå¦‚åQ?BR>可以看到åQŒåœ¨Type3¾cÕdž‹çš„依赖注入机制中åQŒä¾èµ–å…³¾pÀL˜¯é€šè¿‡¾cÀLž„造函数徏立,容器通过调用¾cÈš„æž?BR>造方法,ž®†å…¶æ‰€éœ€çš„依赖关¾pÀL³¨å…¥å…¶ä¸­ã€?BR>PicoContaineråQˆå¦ä¸€¿Uå®žçŽîCº†ä¾èµ–注入模式的轻量çñ”容器åQ‰é¦–先实çŽîCº†Type3¾cÕdž‹çš„依赖注入模式ã€?BR><BR> <HR> <BR>                                                                                <STRONG>几种依赖注入模式的对比æ€È»“<BR></STRONG>æŽ¥å£æ³¨å…¥æ¨¡å¼å› äØ“(f¨´)åŽ†å²è¾ƒäØ“(f¨´)æ‚(zh¨¨n) ä¹…åQŒåœ¨å¾ˆå¤šå®¹å™¨ä¸­éƒ½å·²ç»å¾—到应用。但ç”׃ºŽå…¶åœ¨ç‰|´»æ€§ã€æ˜“用性上不如<BR>其他两种注入模式åQŒå› è€Œåœ¨IOC的专题世界内òq¶ä¸è¢«çœ‹å¥½ã€?BR>Type2å’ŒType3型的依赖注入实现则是目前ä¸ÀLµçš„IOC实现模式。这两种实现方式各有特点åQŒä¹Ÿå„å…·<BR>优势åQˆä¸€å¥ç»å…¸åºŸè¯JåQ‰ã€?BR><BR><STRONG>Type2 讑ր¼æ³¨å…¥çš„优势<BR></STRONG>1åQ?对于ä¹?f¨¤n)惯了传¾lŸJavaBean开发的½E‹åºå‘˜è€Œè¨€åQŒé€šè¿‡setteræ–ÒŽ(gu¨©)³•讑֮šä¾èµ–关系昑־—更加ç›?BR>观,更加自然ã€?BR>2åQ?如果依赖关系åQˆæˆ–¾l§æ‰¿å…³ç³»åQ‰è¾ƒä¸ºå¤æ‚,那么Type3模式的构造函æ•îC¹Ÿä¼?x¨¬)相当庞大(我们需<BR>要在构造函æ•îC¸­è®‘Ö®šæ‰€æœ‰ä¾èµ–å…³¾p»ï¼‰(j¨ª)åQŒæ­¤æ—¶Type2æ¨¡å¼å¾€å¾€æ›´äØ“(f¨´)½Ž€‹zã€?BR>3åQ?对于某些½W¬ä¸‰æ–¹ç±»åº“而言åQŒå¯èƒ½è¦æ±‚我们的¾l„äšg必须提供一个默认的构造函敎ͼˆå¦‚Struts<BR>中的ActionåQ‰ï¼Œæ­¤æ—¶Type3¾cÕdž‹çš„依赖注入机制就体现出其局限性,难以完成我们期望的功<BR>能ã€?BR><BR><STRONG>Type3 构造子注入的优势:(x¨¬)</STRONG><BR>1åQ?“在构造期卛_ˆ›å»ÞZ¸€ä¸ªå®Œæ•´ã€åˆæ³•的对象”,对于˜q™æ¡Java设计原则åQŒType3无疑是最好的<BR>响应者ã€?BR>2åQ?避免了繁琐的setteræ–ÒŽ(gu¨©)³•的编写,所有依赖关¾pÕd‡åœ¨æž„造函æ•îC¸­è®‘Ö®šåQŒä¾èµ–å…³¾p»é›†ä¸­å‘ˆçŽŽÍ¼Œ<BR>更加易读ã€?BR>3åQ?ç”׃ºŽæ²¡æœ‰setteræ–ÒŽ(gu¨©)³•åQŒä¾èµ–å…³¾pÕdœ¨æž„造时由容器一‹Æ¡æ€§è®¾å®šï¼Œå› æ­¤¾l„äšg在被创徏之后卛_¤„äº?BR>相对“不变”的½E›_®šçŠ¶æ€ï¼Œæ— éœ€æ‹…å¿ƒä¸Šå±‚ä»£ç åœ¨è°ƒç”¨è¿‡½E‹ä¸­æ‰§è¡Œsetteræ–ÒŽ(gu¨©)³•对组件依赖关¾p?BR>产生破坏åQŒç‰¹åˆ«æ˜¯å¯¹äºŽSingleton模式的组件而言åQŒè¿™å¯èƒ½å¯ÒŽ(gu¨©)•´ä¸ªç³»¾lŸäñ”生重大的影响ã€?BR>4åQ?同样åQŒç”±äºŽå…³è”å…³¾pÖM»…在构造函æ•îC¸­è¡¨è¾¾åQŒåªæœ‰ç»„ä»¶åˆ›å»ø™€…需要关心组件内部的依赖关系ã€?BR>对调用者而言åQŒç»„件中的依赖关¾pÕd¤„于黑盒之中。对上层屏蔽不必要的信息åQŒä¹Ÿä¸ºç³»¾lŸçš„<BR>层次清晰性提供了保证ã€?BR>5åQ?通过构造子注入åQŒæ„å‘³ç€æˆ‘们可以在构造函æ•îC¸­å†›_®šä¾èµ–关系的注入顺序,对于一个大é‡?BR>依赖外部服务的组件而言åQŒä¾èµ–å…³¾pȝš„获得™åºåºå¯èƒ½éžå¸¸é‡è¦åQŒæ¯”如某个依赖关¾pÀL³¨å…¥çš„<BR>先决条äšg是组件的DataSourceå?qi¨¢ng)相兌™µ„源已¾lè¢«è®‘Ö®šã€?BR><BR><img src ="http://www.aygfsteel.com/yuanhuaming/aggbug/30548.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/yuanhuaming/" target="_blank">疯流成æ€?/a> 2006-02-14 10:16 <a href="http://www.aygfsteel.com/yuanhuaming/archive/2006/02/14/30548.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工厂æ–ÒŽ(gu¨©)³•模式http://www.aygfsteel.com/yuanhuaming/archive/2005/08/08/9571.html疯流成æ€?/dc:creator>疯流成æ€?/author>Mon, 08 Aug 2005 06:45:00 GMThttp://www.aygfsteel.com/yuanhuaming/archive/2005/08/08/9571.htmlhttp://www.aygfsteel.com/yuanhuaming/comments/9571.htmlhttp://www.aygfsteel.com/yuanhuaming/archive/2005/08/08/9571.html#Feedback0http://www.aygfsteel.com/yuanhuaming/comments/commentRss/9571.htmlhttp://www.aygfsteel.com/yuanhuaming/services/trackbacks/9571.html它克服简单工厂模式的¾~ºç‚¹åQˆåœ¨ä¸ä¿®æ”¹å…·ä½“工厂角色的情况下扩展äñ”品)(j¨ª)。在工厂æ–ÒŽ(gu¨©)³•模式中,核心的工厂类不在负责所有äñ”品的创徏åQŒè€Œæ˜¯ž®†å…·ä½“创建的工作交给了子¾cÕdŽ»åšã€‚å®ƒä»…è´Ÿè´£ç»™å‡ºå…·ä½“å·¥åŽ‚å­¾cÕd¿…™åÕd®žçŽ°çš„æŽ¥å£åQŒè€Œä¸æ¸…楚哪一个äñ”品类应当被实例化ã€?/P>


åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼

 

//抽象工厂角色
interface factory{
 
public sharp Factory();
}

//---------------------------------------------------------------------------
//具体工厂角色
class circleFactory implements factory{
 
public sharp Factory(){
  
return new circle();
 }

}

class retangleFactory implements factory{
 
public sharp Factory(){
  
return new retangle();
 }

}

//--------------------------------------------
//main method
public class test{
 
public static void main(String[] args){
  
new circleFactory().Factory();
 }

}


//--------------------------------------------
//具体产品角色
class circle implements sharp{
 
public circle(){
  
this.draw();
 }

 
public void draw(){
  System.
out.println ("draw1");
 }

 
public void del(){
  System.
out.println ("del1");
 }

}


class retangle implements sharp{
 
public retangle(){
 }

 
public void draw(){
  System.
out.println ("draw2");
 }

 
public void del(){
  System.
out.println ("del2");
 }

}


//抽象产品角色
interface sharp{
 
public void draw();
 
public void del();
 
}




 



]]>
静态工厂模å¼?/title><link>http://www.aygfsteel.com/yuanhuaming/archive/2005/08/08/9570.html</link><dc:creator>疯流成æ€?/dc:creator><author>疯流成æ€?/author><pubDate>Mon, 08 Aug 2005 06:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/yuanhuaming/archive/2005/08/08/9570.html</guid><wfw:comment>http://www.aygfsteel.com/yuanhuaming/comments/9570.html</wfw:comment><comments>http://www.aygfsteel.com/yuanhuaming/archive/2005/08/08/9570.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/yuanhuaming/comments/commentRss/9570.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/yuanhuaming/services/trackbacks/9570.html</trackback:ping><description><![CDATA[<P>又称½Ž€å•工厂模式ã€?BR>它是ç”׃¸€ä¸ªå·¥åŽ‚ç±»æ‰€æ ÒŽ(gu¨©)®ä¼ å…¥çš„参量决定创建出哪一¿Uäñ”品类的实例ã€?BR>它涉å?qi¨¢ng)åˆ?个角è‰?BR>1。工厂类角色åQˆCreatoråQ‰ï¼š(x¨¬)˜q™ä¸ªè§’色时工厂模式的核心åQŒå·¥åŽ‚ç±»å†å®¢æˆïL(f¨¥ng)«¯çš„直接调用下创徏产品对象åQŒå®ƒå¾€å¾€ç”׃¸€ä¸ªå…·ä½“JAVA¾cÕd®žçްã€?BR>2。抽象äñ”品角è‰ÔŒ¼ˆProductåQ‰ï¼š(x¨¬)æ‹…ä“Q˜q™ä¸ªè§’色的类是由工厂æ–ÒŽ(gu¨©)³•模式所创徏的对象的父类或者接口。抽象äñ”品角色可以用接口或者抽象类实现ã€?BR>3。具体äñ”品角è‰ÔŒ¼ˆConcrete ProductåQ‰ï¼š(x¨¬)工厂æ–ÒŽ(gu¨©)³•模式所创徏的ä“Q何对象都是这个角色的实例åQŒå…·ä½“äñ”品角色由一个具体JAVA¾cÀL¥å®žçްã€?/P> <P>    ½Ž€å•工厂模式的¾~ºç‚¹æ˜¯è¿›è¡ŒåŠŸèƒ½æ‰©å±•æ¯”è¾ƒå›°éš¾ã€‚æŒ‰ä¸‹é¢ä¾‹å­æ¥è¯´åQŒå¦‚果增加一个åÅžçŠÓž¼Œé‚£ä¹ˆž®Þp¦ä¿®æ”¹å·¥åŽ‚æ–ÒŽ(gu¨©)³•<BR>的源代码åQŒè¿èƒŒäº†â€œå¼€é—­â€åŽŸåˆ™ã€?BR>    开闭原则:(x¨¬)ž®±æ˜¯åœ¨ä¸ä¿®æ”¹ä»£ç çš„æƒ…况下扩展其功能ã€?BR>åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQï¼åQ?BR>写了个静态工厂模式的例子</P> <P> </P> <DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"> <DIV><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">工厂¾c?/SPAN><SPAN style="COLOR: #008000"><BR><IMG id=Codehighlighter1_23_464_Open_Image onclick="this.style.display='none'; Codehighlighter1_23_464_Open_Text.style.display='none'; Codehighlighter1_23_464_Closed_Image.style.display='inline'; Codehighlighter1_23_464_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_23_464_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_23_464_Closed_Text.style.display='none'; Codehighlighter1_23_464_Open_Image.style.display='inline'; Codehighlighter1_23_464_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> test</SPAN><SPAN id=Codehighlighter1_23_464_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_23_464_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"> sharp factory(String s) throws badException<BR><IMG id=Codehighlighter1_85_304_Open_Image onclick="this.style.display='none'; Codehighlighter1_85_304_Open_Text.style.display='none'; Codehighlighter1_85_304_Closed_Image.style.display='inline'; Codehighlighter1_85_304_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_85_304_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_85_304_Closed_Text.style.display='none'; Codehighlighter1_85_304_Open_Image.style.display='inline'; Codehighlighter1_85_304_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN id=Codehighlighter1_85_304_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_85_304_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_111_174_Open_Image onclick="this.style.display='none'; Codehighlighter1_111_174_Open_Text.style.display='none'; Codehighlighter1_111_174_Closed_Image.style.display='inline'; Codehighlighter1_111_174_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_111_174_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_111_174_Closed_Text.style.display='none'; Codehighlighter1_111_174_Open_Image.style.display='inline'; Codehighlighter1_111_174_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">(s.equals(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">circle</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">))</SPAN><SPAN id=Codehighlighter1_111_174_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_111_174_Open_Text><SPAN style="COLOR: #000000">{ </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">当传入的参数åQï¼circleæ—Óž¼Œreturn实例化的circle</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000">   </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> circle();<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">else</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">(s.equals(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">retangle</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">))<BR><IMG id=Codehighlighter1_210_240_Open_Image onclick="this.style.display='none'; Codehighlighter1_210_240_Open_Text.style.display='none'; Codehighlighter1_210_240_Closed_Image.style.display='inline'; Codehighlighter1_210_240_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_210_240_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_210_240_Closed_Text.style.display='none'; Codehighlighter1_210_240_Open_Image.style.display='inline'; Codehighlighter1_210_240_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </SPAN><SPAN id=Codehighlighter1_210_240_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_210_240_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>   </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> retangle();<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_248_301_Open_Image onclick="this.style.display='none'; Codehighlighter1_248_301_Open_Text.style.display='none'; Codehighlighter1_248_301_Closed_Image.style.display='inline'; Codehighlighter1_248_301_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_248_301_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_248_301_Closed_Text.style.display='none'; Codehighlighter1_248_301_Open_Image.style.display='inline'; Codehighlighter1_248_301_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">else</SPAN><SPAN id=Codehighlighter1_248_301_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_248_301_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>   </SPAN><SPAN style="COLOR: #0000ff">throw</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> badException(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">error</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">抛出异常åQŒå¿…™åÀL•获异å¸?/SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top></SPAN><SPAN style="COLOR: #000000">  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_345_462_Open_Image onclick="this.style.display='none'; Codehighlighter1_345_462_Open_Text.style.display='none'; Codehighlighter1_345_462_Closed_Image.style.display='inline'; Codehighlighter1_345_462_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_345_462_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_345_462_Closed_Text.style.display='none'; Codehighlighter1_345_462_Open_Image.style.display='inline'; Codehighlighter1_345_462_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> main(String[] args)</SPAN><SPAN id=Codehighlighter1_345_462_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_345_462_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_352_400_Open_Image onclick="this.style.display='none'; Codehighlighter1_352_400_Open_Text.style.display='none'; Codehighlighter1_352_400_Closed_Image.style.display='inline'; Codehighlighter1_352_400_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_352_400_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_352_400_Closed_Text.style.display='none'; Codehighlighter1_352_400_Open_Image.style.display='inline'; Codehighlighter1_352_400_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN id=Codehighlighter1_352_400_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_352_400_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>   test.factory(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">circle</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">调用static method</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top></SPAN><SPAN style="COLOR: #000000">  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_425_456_Open_Image onclick="this.style.display='none'; Codehighlighter1_425_456_Open_Text.style.display='none'; Codehighlighter1_425_456_Closed_Image.style.display='inline'; Codehighlighter1_425_456_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_425_456_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_425_456_Closed_Text.style.display='none'; Codehighlighter1_425_456_Open_Image.style.display='inline'; Codehighlighter1_425_456_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000">(badException e)</SPAN><SPAN id=Codehighlighter1_425_456_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_425_456_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>   System.</SPAN><SPAN style="COLOR: #0000ff">out</SPAN><SPAN style="COLOR: #000000">.println (e);<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>  }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>  <BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_497_645_Open_Image onclick="this.style.display='none'; Codehighlighter1_497_645_Open_Text.style.display='none'; Codehighlighter1_497_645_Closed_Image.style.display='inline'; Codehighlighter1_497_645_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_497_645_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_497_645_Closed_Text.style.display='none'; Codehighlighter1_497_645_Open_Image.style.display='inline'; Codehighlighter1_497_645_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> circle implements sharp</SPAN><SPAN id=Codehighlighter1_497_645_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_497_645_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_515_533_Open_Image onclick="this.style.display='none'; Codehighlighter1_515_533_Open_Text.style.display='none'; Codehighlighter1_515_533_Closed_Image.style.display='inline'; Codehighlighter1_515_533_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_515_533_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_515_533_Closed_Text.style.display='none'; Codehighlighter1_515_533_Open_Image.style.display='inline'; Codehighlighter1_515_533_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> circle()</SPAN><SPAN id=Codehighlighter1_515_533_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_515_533_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>  </SPAN><SPAN style="COLOR: #0000ff">this</SPAN><SPAN style="COLOR: #000000">.draw();<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_554_589_Open_Image onclick="this.style.display='none'; Codehighlighter1_554_589_Open_Text.style.display='none'; Codehighlighter1_554_589_Closed_Image.style.display='inline'; Codehighlighter1_554_589_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_554_589_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_554_589_Closed_Text.style.display='none'; Codehighlighter1_554_589_Open_Image.style.display='inline'; Codehighlighter1_554_589_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> draw()</SPAN><SPAN id=Codehighlighter1_554_589_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_554_589_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>  System.</SPAN><SPAN style="COLOR: #0000ff">out</SPAN><SPAN style="COLOR: #000000">.println (</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">draw1</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_609_643_Open_Image onclick="this.style.display='none'; Codehighlighter1_609_643_Open_Text.style.display='none'; Codehighlighter1_609_643_Closed_Image.style.display='inline'; Codehighlighter1_609_643_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_609_643_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_609_643_Closed_Text.style.display='none'; Codehighlighter1_609_643_Open_Image.style.display='inline'; Codehighlighter1_609_643_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> del()</SPAN><SPAN id=Codehighlighter1_609_643_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_609_643_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>  System.</SPAN><SPAN style="COLOR: #0000ff">out</SPAN><SPAN style="COLOR: #000000">.println (</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">del1</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_679_791_Open_Image onclick="this.style.display='none'; Codehighlighter1_679_791_Open_Text.style.display='none'; Codehighlighter1_679_791_Closed_Image.style.display='inline'; Codehighlighter1_679_791_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_679_791_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_679_791_Closed_Text.style.display='none'; Codehighlighter1_679_791_Open_Image.style.display='inline'; Codehighlighter1_679_791_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> retangle implements sharp</SPAN><SPAN id=Codehighlighter1_679_791_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_679_791_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_700_735_Open_Image onclick="this.style.display='none'; Codehighlighter1_700_735_Open_Text.style.display='none'; Codehighlighter1_700_735_Closed_Image.style.display='inline'; Codehighlighter1_700_735_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_700_735_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_700_735_Closed_Text.style.display='none'; Codehighlighter1_700_735_Open_Image.style.display='inline'; Codehighlighter1_700_735_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> draw()</SPAN><SPAN id=Codehighlighter1_700_735_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_700_735_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>  System.</SPAN><SPAN style="COLOR: #0000ff">out</SPAN><SPAN style="COLOR: #000000">.println (</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">draw2</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_755_789_Open_Image onclick="this.style.display='none'; Codehighlighter1_755_789_Open_Text.style.display='none'; Codehighlighter1_755_789_Closed_Image.style.display='inline'; Codehighlighter1_755_789_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_755_789_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_755_789_Closed_Text.style.display='none'; Codehighlighter1_755_789_Open_Image.style.display='inline'; Codehighlighter1_755_789_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> del()</SPAN><SPAN id=Codehighlighter1_755_789_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_755_789_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>  System.</SPAN><SPAN style="COLOR: #0000ff">out</SPAN><SPAN style="COLOR: #000000">.println (</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">del2</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top><BR><IMG id=Codehighlighter1_831_880_Open_Image onclick="this.style.display='none'; Codehighlighter1_831_880_Open_Text.style.display='none'; Codehighlighter1_831_880_Closed_Image.style.display='inline'; Codehighlighter1_831_880_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_831_880_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_831_880_Closed_Text.style.display='none'; Codehighlighter1_831_880_Open_Image.style.display='inline'; Codehighlighter1_831_880_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000"> badException extends Exception</SPAN><SPAN id=Codehighlighter1_831_880_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_831_880_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_863_878_Open_Image onclick="this.style.display='none'; Codehighlighter1_863_878_Open_Text.style.display='none'; Codehighlighter1_863_878_Closed_Image.style.display='inline'; Codehighlighter1_863_878_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_863_878_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_863_878_Closed_Text.style.display='none'; Codehighlighter1_863_878_Open_Image.style.display='inline'; Codehighlighter1_863_878_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> badException(String s)</SPAN><SPAN id=Codehighlighter1_863_878_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_863_878_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top>  super(s);<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">定义接口</SPAN><SPAN style="COLOR: #008000"><BR><IMG id=Codehighlighter1_904_949_Open_Image onclick="this.style.display='none'; Codehighlighter1_904_949_Open_Text.style.display='none'; Codehighlighter1_904_949_Closed_Image.style.display='inline'; Codehighlighter1_904_949_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_904_949_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_904_949_Closed_Text.style.display='none'; Codehighlighter1_904_949_Open_Image.style.display='inline'; Codehighlighter1_904_949_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">interface</SPAN><SPAN style="COLOR: #000000"> sharp</SPAN><SPAN id=Codehighlighter1_904_949_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.aygfsteel.com/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_904_949_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> draw();<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000"> del();<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> <BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV> <P><BR><BR><BR> </P><img src ="http://www.aygfsteel.com/yuanhuaming/aggbug/9570.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/yuanhuaming/" target="_blank">疯流成æ€?/a> 2005-08-08 14:44 <a href="http://www.aygfsteel.com/yuanhuaming/archive/2005/08/08/9570.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">ÈýÃÅÏ¿ÊÐ</a>| <a href="http://" target="_blank">Ë«³ÇÊÐ</a>| <a href="http://" target="_blank">ÃñÈ¨ÏØ</a>| <a href="http://" target="_blank">Ì쳤ÊÐ</a>| <a href="http://" target="_blank">á·É½ÏØ</a>| <a href="http://" target="_blank">¹ÌÑôÏØ</a>| <a href="http://" target="_blank">ÑâÉ½ÏØ</a>| <a href="http://" target="_blank">ÎÚÀ¼ºÆÌØÊÐ</a>| <a href="http://" target="_blank">ÇåÔ¶ÊÐ</a>| <a href="http://" target="_blank">½­×ÎÏØ</a>| <a href="http://" target="_blank">ÍòÈ«ÏØ</a>| <a href="http://" target="_blank">ÍÁÄ¬ÌØ×óÆì</a>| <a href="http://" target="_blank">ÏØ¼¶ÊÐ</a>| <a href="http://" target="_blank">°¢¿ËËÕÊÐ</a>| <a href="http://" target="_blank">ǨÎ÷ÏØ</a>| <a href="http://" target="_blank">ÍпËÍÐÏØ</a>| <a href="http://" target="_blank">±¦É½Çø</a>| <a href="http://" target="_blank">½ú³Ç</a>| <a href="http://" target="_blank">лͨÃÅÏØ</a>| <a href="http://" target="_blank">ÓÀµÂÏØ</a>| <a href="http://" target="_blank">õ·ÁêÊÐ</a>| <a href="http://" target="_blank">ÉϸßÏØ</a>| <a href="http://" target="_blank">·¿É½Çø</a>| <a href="http://" target="_blank">»ª³ØÏØ</a>| <a href="http://" target="_blank">æÄÔ´ÏØ</a>| <a href="http://" target="_blank">ºÏ·ÊÊÐ</a>| <a href="http://" target="_blank">Ô£ÃñÏØ</a>| <a href="http://" target="_blank">Ïå³ÇÏØ</a>| <a href="http://" target="_blank">»ÔÄÏÏØ</a>| <a href="http://" target="_blank">Ñ­»¯</a>| <a href="http://" target="_blank">°²ÁúÏØ</a>| <a href="http://" target="_blank">½¨ÑôÊÐ</a>| <a href="http://" target="_blank">¾°Äþ</a>| <a href="http://" target="_blank">÷ºÓ¿ÚÊÐ</a>| <a href="http://" target="_blank">°×ÀÊÏØ</a>| <a href="http://" target="_blank">ʯÁÖ</a>| <a href="http://" target="_blank">×ÊÏªÏØ</a>| <a href="http://" target="_blank">Ò˲ýÊÐ</a>| <a href="http://" target="_blank">ºÍË¶ÏØ</a>| <a href="http://" target="_blank">Æû³µ</a>| <a href="http://" target="_blank">¹±É½</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>