??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲精品国产第一综合99久久,国产欧美精品久久久,日本精品专区http://www.aygfsteel.com/lsshap/zh-cnMon, 28 Jul 2025 10:17:26 GMTMon, 28 Jul 2025 10:17:26 GMT60java面试问题大全(推荐)http://www.aygfsteel.com/lsshap/archive/2009/11/19/302994.html永赫永赫Thu, 19 Nov 2009 15:40:00 GMThttp://www.aygfsteel.com/lsshap/archive/2009/11/19/302994.htmlhttp://www.aygfsteel.com/lsshap/comments/302994.htmlhttp://www.aygfsteel.com/lsshap/archive/2009/11/19/302994.html#Feedback0http://www.aygfsteel.com/lsshap/comments/commentRss/302994.htmlhttp://www.aygfsteel.com/lsshap/services/trackbacks/302994.html
     
  问:

  W一Q谈谈final, finally, finalize的区别?br />
  最常被问到?br />
  W二QAnonymous Inner Class (匿名内部c?是否可以extends(l承)其它c,是否可以implements(实现)interface(接口)?W三QStatic Nested Class和Inner Class的不同,说得多好(面试题有的很W统)?br />
  W四Q?amp;?amp;&的区别?br />
  q个问得很少?br />
  W五QHashMap和Hashtable的区别?br />
  帔R?br />
  W六QCollection和Collections的区别?br />
  你千万别说一个是单数一个是复数?br />
  W七Q什么时候用assert?br />
  APIU的技术h员有可能会问q个?br />
  W八QGC是什?Z么要有GC? 基础?br /> W九QString s = new String("xyz");创徏了几个String Object?W十QMath.round(11.5){於多少? Math.round(-11.5){於多少?W十一Qshort s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?面试题都是很变态的Q要做好受虐的准备?br />
  W十二,sleep()和wait()有什么区?搞线E的最爱?br />
  W十三,Java有没有goto?很十三的问题Q如果哪个面试的问到q个问题Q我劝你q是别进q家公司?br />
  W十四,数组有没有length()q个Ҏ? String有没有length()q个Ҏ?W十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的cd?帔R?br />
  W十六,Set里的元素是不能重复的Q那么用什么方法来区分重复与否?是用==q是equals()?它们有何区别?W十七,l我一个你最常见到的runtime exception?br />
  如果你这个答不出来,面试的h会认Z没有实际~程l验?br />
  W十八,error和exception有什么区?W十九,List, Set, Map是否l承自Collection接口?W二十,abstract class和interface有什么区?帔R?br />
  W二十一Qabstract的method是否可同时是static,是否可同时是nativeQ是否可同时是synchronized?W二十二Q接口是否可l承接口?抽象cL否可实现(implements)接口?抽象cL否可l承实体c?concrete class)?W二十三Q启动一个线E是用run()q是start()?W二十四Q构造器Constructor是否可被override?W二十五Q是否可以承Stringc?W二十六Q当一个线E进入一个对象的一个synchronizedҎ后,其它U程是否可进入此对象的其它方?W二十七Qtry {}里有一个return语句Q那么紧跟在q个try后的finally {}里的code会不会被执行Q什么时候被执行Q在return前还是后?W二十八Q编E题:用最有效率的Ҏ出2乘以8{於?有C背景的程序员特别喜欢问这U问题?br />
  W二十九Q两个对象值相?x.equals(y) == true)Q但却可有不同的hash codeQ这句话对不?W三十,当一个对象被当作参数传递到一个方法后Q此Ҏ可改变这个对象的属性,q可q回变化后的l果Q那么这里到底是g递还是引用传?W三十一Qswtich是否能作用在byte上,是否能作用在long上,是否能作用在String?W三十二Q编E题:写一个Singleton出来?br />
   好先说这么一些?br />
  {:W一Q谈谈final, finally, finalize的区别?br />
  final—修饰符Q关键字Q如果一个类被声明ؓfinalQ意味着它不能再z出新的子c,不能作ؓ父类被ѝ因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明ؓfinalQ可以保证它们在使用中不被改变。被声明为final的变量必d声明时给定初|而在以后的引用中只能dQ不可修攏V被声明为final的方法也同样只能使用Q不能重载?br /> finally—再异常处理时提供finally块来执行M清除操作。如果抛Z个异常,那么相匹配的catch子句׃执行Q然后控制就会进入finally块(如果有的话)?br />
  finalize—方法名。Java技术允怋用finalize()Ҏ在垃圾收集器对象从内存中清除出M前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对q个对象调用的。它是在ObjectcM定义的,因此所有的c都l承了它。子c覆盖finalize()Ҏ以整理系l资源或者执行其他清理工作。finalize()Ҏ是在垃圾攉器删除对象之前对q个对象调用的?br />
  W二QAnonymous Inner Class (匿名内部c?是否可以extends(l承)其它c,是否可以implements(实现)interface(接口)?

  匿名的内部类是没有名字的内部cR不能extends(l承)其它c,但一个内部类可以作ؓ一个接口,由另一个内部类实现?br />
  W三QStatic Nested Class和Inner Class的不同,说得多好(面试题有的很W统)?br />
  Nested ClassQ一般是C++的说法)QInner Class (一般是JAVA的说?。Java内部cMC++嵌套cL大的不同在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page=1

  注:静态内部类QInner ClassQ意味着1创徏一个static内部cȝ对象Q不需要一个外部类对象Q?不能从一个static内部cȝ一个对象访问一个外部类对象

   W四Q?amp;?amp;&的区别?br />
  &是位q算W?amp;&是布逻辑q算W?br />
  W五QHashMap和Hashtable的区别?br />
  都属于Map接口的类Q实C惟一键映到特定的g?br />
  HashMapcL有分cL者排序。它允许一个null键和多个null倹{?br />
  HashtablecM于HashMapQ但是不允许null键和null倹{它也比HashMap慢,因ؓ它是同步的?br />
  W六QCollection和Collections的区别?br />
  Collections是个java.util下的c,它包含有各种有关集合操作的静态方法?br />
  Collection是个java.util下的接口Q它是各U集合结构的父接口?br />
  W七Q什么时候用assert?br />
断言是一个包含布表辑ּ的语句,在执行这个语句时假定该表辑ּ为true。如果表辑ּ计算为falseQ那么系l会报告一个Assertionerror。它用于调试目的Q?br />
  assert(a > 0); // throws an Assertionerror if a <= 0 断言可以有两UŞ式:

  assert Expression1 ; assert Expression1 : Expression2 ;

  Expression1应该L产生一个布倹{?br />
  Expression2可以是得Z个值的L表达式。这个值用于生成显C更多调试信息的String消息?br />
  断言在默认情况下是禁用的。要在编译时启用断言Q需要用source 1.4标记Q?br />
  javac -source 1.4 Test.java

  要在q行时启用断aQ可使用-enableassertions或?ea标记?br />
  要在q行旉择用断言Q可使用-da或?disableassertions标记?br />
  要系l类中启用断aQ可使用-esa或?dsa标记。还可以在包的基上启用或者禁用断a?br />
  可以在预计正常情况下不会到达的Q何位|上攄断言。断a可以用于验证传递给U有Ҏ的参数。不q,断言不应该用于验证传递给公有Ҏ的参敎ͼ因ؓ不管是否启用了断aQ公有方法都必须查其参数。不q,既可以在公有Ҏ中,也可以在非公有方法中利用断言试后置条g。另外,断言不应该以M方式改变E序的状态?br />
  W八QGC是什?Z么要有GC? (基础)?br />
  GC是垃圾收集器。JavaE序员不用担心内存管理,因ؓ垃圾攉器会自动q行理。要h垃圾攉Q可以调用下面的Ҏ之一Q?br />
  System.gc() Runtime.getRuntime().gc()

  W九QString s = new String("xyz");创徏了几个String Object?

  两个对象Q一个是“xyx”,一个是指向“xyx”的引用对象s?

W十QMath.round(11.5){於多少? Math.round(-11.5){於多少?

  Math.round(11.5)q回QlongQ?2QMath.round(-11.5)q回QlongQ?11;

W十一Qshort s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

short s1 = 1; s1 = s1 + 1;有错Qs1是short型,s1+1是int?不能昑ּ转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确?

W十二,sleep() ?wait() 有什么区? 搞线E的最?br />
  sleep()Ҏ是ɾU程停止一D|间的Ҏ。在sleep 旉间隔期满后,U程不一定立x复执行。这是因为在那个时刻Q其它线E可能正在运行而且没有被调度ؓ攑ּ执行Q除?a)“醒来”的线E具有更高的优先U?(b)正在q行的线E因为其它原因而阻塞?br />
  wait()是线E交互时Q如果线E对一个同步对象x 发出一个wait()调用Q该U程会暂停执行,被调对象q入{待状态,直到被唤醒或{待旉到?

W十三,Java有没有goto?

  Goto—java中的保留字,现在没有在java中用?

W十四,数组有没有length()q个Ҏ? String有没有length()q个ҎQ?br />
  数组没有length()q个ҎQ有length的属性?br />
  String有有length()q个Ҏ?

W十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的cd?

  Ҏ的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父cM子类之间多态性的一U表玎ͼ重蝲Overloading是一个类中多态性的一U表现。如果在子类中定义某Ҏ与其父类有相同的名称和参敎ͼ我们说该Ҏ被重?(Overriding)。子cȝ对象使用q个ҎӞ调用子cM的定义,对它而言Q父cM的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参C数或有不同的参数cdQ则UCؓҎ的重?Overloading)。Overloaded的方法是可以改变q回值的cd?

W十六,Set里的元素是不能重复的Q那么用什么方法来区分重复与否? 是用==q是equals()? 它们有何区别?

  Set里的元素是不能重复的Q那么用iterator()Ҏ来区分重复与否。equals()是判M个Set是否相等?br />
  equals()?=Ҏ军_引用值是否指向同一对象equals()在类中被覆盖Qؓ的是当两个分ȝ对象的内容和cd盔R的话Q返回真倹{?

W十七,l我一个你最常见到的runtime exception?br />
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException,
ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFORMatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

W十八,error和exception有什么区?

  error 表示恢复不是不可能但很困隄情况下的一U严重问题。比如说内存溢出。不可能指望E序能处理这L情况?br />
  exception 表示一U设计或实现问题。也是_它表C如果程序运行正常,从不会发生的情况?

W十九,List, Set, Map是否l承自Collection接口?

ListQSet?

Map不是

W二十,abstract class和interface有什么区?

  声明Ҏ的存在而不d现它的类被叫做抽象类Qabstract classQ,它用于要创徏一个体现某些基本行为的c,qؓ该类声明ҎQ但不能在该cM实现该类的情c不能创建abstract cȝ实例。然而可以创Z个变量,其类型是一个抽象类Qƈ让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract cȝ子类为它们父cM的所有抽象方法提供实玎ͼ否则它们也是抽象cMؓ。取而代之,在子cM实现该方法。知道其行ؓ的其它类可以在类中实现这些方法?br />
  接口QinterfaceQ是抽象cȝ变体。在接口中,所有方法都是抽象的。多l承性可通过实现q样的接口而获得。接口中的所有方法都是抽象的Q没有一个有E序体。接口只可以定义static final成员变量。接口的实现与子cȝ|除了该实现类不能从接口定义中l承行ؓ。当cd现特D接口时Q它定义Q即程序体l予Q所有这U接口的Ҏ。然后,它可以在实现了该接口的类的Q何对象上调用接口的方法。由于有抽象c,它允怋用接口名作ؓ引用变量的类型。通常的动态联~将生效。引用可以{换到接口cd或从接口cd转换Qinstanceof q算W可以用来决定某对象的类是否实现了接口?

  W二十一Qabstract的method是否可同时是static,是否可同时是nativeQ是否可同时是synchronized?
都不?

W二十二Q接口是否可l承接口? 抽象cL否可实现(implements)接口? 抽象cL否可l承实体c?concrete class)?

  接口可以l承接口。抽象类可以实现(implements)接口Q抽象类是否可承实体类Q但前提是实体类必须有明的构造函数?

W二十三Q启动一个线E是用run()q是start()?

  启动一个线E是调用start()ҎQɾU程所代表的虚拟处理机处于可运行状态,q意味着它可以由JVM调度q执行。这q不意味着U程׃立即q行。run()Ҏ可以产生必须退出的标志来停止一个线E?

W二十四Q构造器Constructor是否可被override?

  构造器Constructor不能被承,因此不能重写OverridingQ但可以被重载Overloading?

W二十五Q是否可以承Stringc?

  StringcLfinalcL不可以ѝ?

W二十六Q当一个线E进入一个对象的一个synchronizedҎ后,其它U程是否可进入此对象的其它方?

  不能Q一个对象的一个synchronizedҎ只能׃个线E访问?

W二十七Qtry {}里有一个return语句Q那么紧跟在q个try后的finally {}里的code会不会被执行Q什么时候被执行Q在return前还是后?

  会执行,在return前执行?

W二十八Q编E题: 用最有效率的Ҏ出2乘以8{於?

  有C背景的程序员特别喜欢问这U问题?

  2 << 3

W二十九Q两个对象值相?x.equals(y) == true)Q但却可有不同的hash codeQ这句话对不?

  不对Q有相同的hash code?

W三十,当一个对象被当作参数传递到一个方法后Q此Ҏ可改变这个对象的属性,q可q回变化后的l果Q那么这里到底是g递还是引用传?
是g递。Java ~程语言只由g递参数。当一个对象实例作Z个参数被传递到Ҏ中时Q参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变Q但对象的引用是永远不会改变的?

W三十一Qswtich是否能作用在byte上,是否能作用在long上,是否能作用在String?

  switchQexpr1Q中Qexpr1是一个整数表辑ּ。因此传递给 switch ?case 语句的参数应该是 int?short?char 或?byte。long,string 都不能作用于swtich?

W三十二Q编E题: 写一个Singleton出来?br />
  Singleton模式主要作用是保证在Java应用E序中,一个类Class只有一个实例存在?br />
  一般Singleton模式通常有几U种形式Q?br />
  W一UŞ式:定义一个类Q它的构造函Cؓprivate的,它有一个static的private的该cd量,在类初始化时实例话,通过一个public的getInstanceҎ获取对它的引?l而调用其中的Ҏ?br />
public class Singleton {
  private Singleton(){}
  //在自己内部定义自׃个实例,是不是很奇怪?
  //注意q是private 只供内部调用
  private static Singleton instance = new Singleton();
  //q里提供了一个供外部讉K本class的静态方法,可以直接讉K  
  public static Singleton getInstance() {
    return instance;   
   }
}

  W二UŞ式:

public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  //q个Ҏ比上面有所改进Q不用每ơ都q行生成对象Q只是第一ơ     
  //使用时生成实例,提高了效率!
  if (instance==null)
    instanceQnew Singleton();
return instance;   }
}

其他形式Q?br />
定义一个类Q它的构造函Cؓprivate的,所有方法ؓstatic的?br />
  一般认为第一UŞ式要更加安全?

  Hashtable和HashMap

  Hashtablel承自Dictionaryc,而HashMap是Java1.2引进的Map interface的一个实?

  HashMap允许null作ؓ一个entry的key或者valueQ而Hashtable不允?

  q有是QHashMap把Hashtable的containsҎL了,Ҏcontainsvalue和containsKey。因为containsҎҎ让h引v误解?

  最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是Q在
多个U程讉KHashtableӞ不需要自׃ؓ它的Ҏ实现同步Q而HashMap
必Mؓ之提供外同步?

  Hashtable和HashMap采用的hash/rehash法都大概一P所以性能不会有很大的差异?

永赫 2009-11-19 23:40 发表评论
]]>
用JS或jQuery讉K面内的iframe,兼容IE/FF http://www.aygfsteel.com/lsshap/archive/2009/11/19/302875.html永赫永赫Thu, 19 Nov 2009 01:14:00 GMThttp://www.aygfsteel.com/lsshap/archive/2009/11/19/302875.htmlhttp://www.aygfsteel.com/lsshap/comments/302875.htmlhttp://www.aygfsteel.com/lsshap/archive/2009/11/19/302875.html#Feedback0http://www.aygfsteel.com/lsshap/comments/commentRss/302875.htmlhttp://www.aygfsteel.com/lsshap/services/trackbacks/302875.htmljs或者jQuery讉K面中的框架也就是iframe.

注意:框架内的面是不能跨域的!


假设有两个页?在相同域?

index.html 文g内含有一个iframe:

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>面首页</title>  
  6. </head>  
  7.   
  8. <body>  
  9. <iframe src="iframe.html" id="koyoz" height="0" width="0"></iframe>  
  10. </body>  
  11. </html>  

iframe.html 内容:

XML/HTML代码
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
  5. <title>iframe.html</title>  
  6. </head>  
  7.   
  8. <body>  
  9. <div id="test">www.koyoz.com</div>  
  10. </body>  
  11. </html>  

 

1. 在index.html执行JS直接讉K:

JavaScript代码
  1. document.getElementById('koyoz').contentWindow.document.getElementById('test').style.color='red'  

通过在index.html讉KID名ؓ'koyoz'的iframe面,q取得此iframe面内的ID?test'的对?q将光色设|ؓU色.

此代码已l测试通过,能支持IE/firefox .

2. 在index.html里面借助jQuery讉K:

JavaScript代码
  1. $("#koyoz").contents().find("#test").css('color','red');  

此代码的效果和JS直接讉K是一L,׃借助于jQuery框架,代码更短了.

 

补充一下:

用DOMҎ与jqueryҎl合的方式实C

1.在父H口中操?选中IFRAME中的所有单选钮
$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");

2.在IFRAME中操?选中父窗口中的所有单选钮
$(window.parent.document).find("input[@type='radio']").attr("checked","true");

iframe框架的:<iframe src="test.html" id="iframe1" width="700" height="300" frameborder="0" scrolling="auto"></iframe>

IE7中测试通过



永赫 2009-11-19 09:14 发表评论
]]>
兌、组合、聚合、依赖关pL?http://www.aygfsteel.com/lsshap/archive/2009/11/18/302756.html永赫永赫Wed, 18 Nov 2009 01:03:00 GMThttp://www.aygfsteel.com/lsshap/archive/2009/11/18/302756.htmlhttp://www.aygfsteel.com/lsshap/comments/302756.htmlhttp://www.aygfsteel.com/lsshap/archive/2009/11/18/302756.html#Feedback0http://www.aygfsteel.com/lsshap/comments/commentRss/302756.htmlhttp://www.aygfsteel.com/lsshap/services/trackbacks/302756.htmlU类Q?/span> Generalization(泛化)Q?/span>Dependency(依赖关系)?/span>Association(兌关系)?/span>Aggregation(聚合关系)?/span>Composition(合成关系)?br />     其中Aggregation(聚合关系)?/span>Composition(合成关系)属于Association(兌关系)Q是Ҏ?/span>Association兌关系?span style="font-family: 'Verdana', 'sans-serif'" lang="EN-US">Generalization(泛化)表现为承或实现关系(is a)。具体Ş式ؓcMcM间的l承关系Q接口与接口之间的承关p,cd接口的实现关pR?br />

     Association兌 p表Cؓ变量(has a )。类与类之间的联接,它一个类知道另一个类的属性和Ҏ。例如如?/span>A依赖?/span>BQ则B体现?/span>A的全局变量。关联关pL双向兌和单向关联。双向关联:两个c都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数兌应该是单向的Q单向关pLҎ建立和维护,有助于寻扑֏服用的类?br />


    Aggregat ion(聚合关系) 是关联关pȝ一U,是强的关联关pR聚合关pL整体和个体的关系。普通关联关pȝ两个cd于同一层次上,而聚合关pȝ两个cd于不同的层次Q一个是整体Q一个是部分。同Ӟ是一U弱?#8220;拥有”关系。体现的?/span>A对象可以包含B对象Q但B对象不是A对象的组成部分。具体表CؓQ如?/span>A?/span>B聚合成,表现?/span>A包含?/span>B的全局对象Q但?/span>B对象可以不在A创徏的时d建?br />


    Composition(l合关系)是关联关pȝ一U,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期?/span>Composition(l合关系)是一U强?#8220;拥有”关系Q体C严格的部分和整体的关p,部分和整体的生命周期一致。如?/span>A?/span>Bl成Q表CؓA包含?/span>B的全局对象Qƈ?/span>B对象?/span>A创徏的时d建?br />

Dependency(依赖关系)表现为函C的参?/span>(use a)。是cMcM间的q接Q表CZ个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类。例如如?/span>A依赖?/span>BQ则B体现为局部变量,Ҏ的参数、或静态方法的调用?/span>



来至?a target="_blank">http://blog.csdn.net/maybehelios/archive/2008/01/12/2038685.aspx


永赫 2009-11-18 09:03 发表评论
]]>
UML中几U类间关p:l承、实现、依赖、关联、聚合、组合的联系与区?/title><link>http://www.aygfsteel.com/lsshap/archive/2009/11/18/302755.html</link><dc:creator>永赫</dc:creator><author>永赫</author><pubDate>Wed, 18 Nov 2009 01:02:00 GMT</pubDate><guid>http://www.aygfsteel.com/lsshap/archive/2009/11/18/302755.html</guid><wfw:comment>http://www.aygfsteel.com/lsshap/comments/302755.html</wfw:comment><comments>http://www.aygfsteel.com/lsshap/archive/2009/11/18/302755.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/lsshap/comments/commentRss/302755.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/lsshap/services/trackbacks/302755.html</trackback:ping><description><![CDATA[转蝲Qhttp://blog.csdn.net/sfdev/archive/2009/02/18/3906243.aspx<br /> <p>UML中几U类间关p:l承、实现、依赖、关联、聚合、组合的联系与区?/p> <h3>l承</h3> <p>指的是一个类Q称为子cR子接口Q承另外的一个类Q称为父cR父接口Q的功能Qƈ可以增加它自q新功能的能力Q承是cMcL者接口与接口之间最常见的关p;在Java中此cdp通过关键字extends明确标识Q在设计时一般没有争议性;<br /> <img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/winzheng/UML/Generalization.jpg" width="293" height="204" /></p> <h3>实现</h3> <p>指的是一个classcd现interface接口Q可以是多个Q的功能Q实现是cM接口之间最常见的关p;在Java中此cdp通过关键字implements明确标识Q在设计时一般没有争议性;<br /> <img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/winzheng/UML/Realization.jpg" width="121" height="203" /></p> <h3>依赖</h3> <p>可以单的理解Q就是一个类A使用C另一个类BQ而这U用关pLh偶然性的、、时性的、非常弱的,但是Bcȝ变化会媄响到AQ比如某q河Q需要借用一条船Q此时h与船之间的关pd是依赖;表现在代码层面,为类B作ؓ参数被类A在某个methodҎ中用;<br /> <img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/winzheng/UML/Dependence.jpg" width="430" height="97" /></p> <h3>兌</h3> <p>他体现的是两个类、或者类与接口之间语义别的一U强依赖关系Q比如我和我的朋友;q种关系比依赖更强、不存在依赖关系的偶然性、关pM不是临时?的,一般是长期性的Q而且双方的关pM般是q等的、关联可以是单向、双向的Q表现在代码层面Qؓ被关联类B以类属性的形式出现在关联类A中,也可能是兌 cA引用了一个类型ؓ被关联类B的全局变量Q?br /> <img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/winzheng/UML/Association.jpg" width="430" height="105" /></p> <h3>聚合</h3> <p>聚合是关联关pȝ一U特例,他体现的是整体与部分、拥有的关系Q即has-a的关p,此时整体与部分之间是可分ȝQ他们可以具有各自的生命周期Q?部分可以属于多个整体对象Q也可以为多个整体对象共享;比如计算ZCPU、公怸员工的关pȝQ表现在代码层面Q和兌关系是一致的Q只能从语义U别?区分Q?br /> <img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/winzheng/UML/Aggregation.jpg" width="430" height="108" /></p> <h3>l合</h3> <p>l合也是兌关系的一U特例,他体现的是一Ucontains-a的关p,q种关系比聚合更强,也称为强聚合Q他同样体现整体与部分间的关p,但此 时整体与部分是不可分的,整体的生命周期结束也意味着部分的生命周期结束;比如你和你的大脑Q表现在代码层面Q和兌关系是一致的Q只能从语义U别来区 分;<br /> <img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/winzheng/UML/Composition.jpg" width="430" height="106" /></p> <p>对于l承、实现这两种关系没多疑问,他们体现的是一U类与类、或者类与接口间的纵向关p;其他的四者关pd体现的是cMcR或者类与接口间的引 用、横向关p,是比较难区分的,有很多事物间的关p要惛_备定位是很难的,前面也提刎ͼq几U关p都是语义别的Q所以从代码层面q不能完全区分各U关 p;但ȝ来说Q后几种关系所表现的强q度依ơؓQ组?gt;聚合>兌>依赖Q?/p> <img src ="http://www.aygfsteel.com/lsshap/aggbug/302755.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/lsshap/" target="_blank">永赫</a> 2009-11-18 09:02 <a href="http://www.aygfsteel.com/lsshap/archive/2009/11/18/302755.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>出现java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher错误http://www.aygfsteel.com/lsshap/archive/2009/11/16/302602.html永赫永赫Mon, 16 Nov 2009 12:39:00 GMThttp://www.aygfsteel.com/lsshap/archive/2009/11/16/302602.htmlhttp://www.aygfsteel.com/lsshap/comments/302602.htmlhttp://www.aygfsteel.com/lsshap/archive/2009/11/16/302602.html#Feedback0http://www.aygfsteel.com/lsshap/comments/commentRss/302602.htmlhttp://www.aygfsteel.com/lsshap/services/trackbacks/302602.html


Json必需的包

commons-httpclient-3.1.jar
commons-lang-2.4.jar
commons-logging-1.1.1.jar
json-lib-2.2.3-jdk13.jar
ezmorph-1.0.6.jar
commons-collections-3.2.1.jar

以上包可以从

http://commons.apache.org/index.html

http://json-lib.sourceforge.net/

http://ezmorph.sourceforge.net/

http://morph.sourceforge.net/

http://www.docjar.com/

中下载到?br />
出现java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher错误是因为没有导入ezmorph.jar文g或版本不寏V?br />
出现java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap错误是因为没有导入commons-collections.jar文g或版本不寏V?br />
Java代码转换成json代码

1.      List集合转换成json代码

List list = new ArrayList();

list.add( "first" );

list.add( "second" );

JSONArray jsonArray2 = JSONArray.fromObject( list );

2.      Map集合转换成json代码

Map map = new HashMap();

map.put("name", "json");

map.put("bool", Boolean.TRUE);

map.put("int", new Integer(1));

map.put("arr", new String[] { "a", "b" });

map.put("func", "function(i){ return this.arr; }");

JSONObject json = JSONObject.fromObject(map);

3.      Bean转换成json代码

JSONObject jsonObject = JSONObject.fromObject(new JsonBean());

4.      数组转换成json代码

boolean[] boolArray = new boolean[] { true, false, true };

JSONArray jsonArray1 = JSONArray.fromObject(boolArray);



5. 一般数据{换成json代码

JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

6.      beans转换成json代码

List list = new ArrayList();

JsonBean2 jb1 = new JsonBean2();

jb1.setCol(1);

jb1.setRow(1);

jb1.setValue("xx");

JsonBean2 jb2 = new JsonBean2();

jb2.setCol(2);

jb2.setRow(2);

jb2.setValue("");

list.add(jb1);

list.add(jb2);


永赫 2009-11-16 20:39 发表评论
]]>
վ֩ģ壺 | ƽ| | | | Ӫɽ| | | | | Դ| | Ҵ| | ʡ| | ˮ| ɽ| ͨ| | | | | | Զ| ɿ| | ͭɽ| ǹ| | ԫ| | ˳ƽ| ̨| | | | | ѭ| | |