快速业务通道

我学习使用java的一点体会 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
Integer ( period ) );   try   {    Thread.sleep(100);   }   catch( InterruptedException e)   {    System.out.println("Sleep interrupeted" );   }   } } };

ObserverDemo.java代码

public class ObserverDemo { public static void main( String[] args ) {   BeingWatched observed = new BeingWatched();   Watcher observing = new Watcher();   observed.addObserver( observing);   observed.counter(10); } };

我学习使用java的一点体会(3)

时间:2010-12-31

执行结果

Update() called, count is 10

Update() called, count is 9

Update() called, count is 8

Update() called, count is 7

Update() called, count is 6

Update() called, count is 5

Update() called, count is 4

Update() called, count is 3

Update() called, count is 2

Update() called, count is 1

Update() called, count is 0

归纳阶段。总结使用经验,体会这两个包中类的继承关系,对设计模式的支持(如Iterator本身就是设计模式,同时也是工厂方法模式的应用),了解这些类提供的所有功能,比较功能相近类的异同。将这些类的api记在心中。

虽然集成开发环境支持方法提示功能,但我个人认为,对于java.lang和java.util这两个包的api应当熟记于心,java的其他类库在使用时可以查找api。当然如果从事不同的开发,对其他类库应当有相应的了解,如开发swing,就应当对javax.swing包了如执掌,开发b/s结构的程序,就要了解javax.servlet,依个人的应用来开发了。

本文的上一篇发表之后,承蒙各位网友关注,发表了很多评论,我感觉很多人对我写得文章有误解,大概是我表述不清楚的原因吧。这篇文章是对上一篇的补充,以一个示例阐述了解collection框架的重要性。

我在半年以前写过一个函数printAll(Vector vector),具体代码如下

import java.util.*;    public class UtilTool { public static void printAll ( Vector vector ) {   System.out.println( "the Collection is vector" );   System.out.println( vector.getClass().toString() );   Iterator iterator = vector.iterator();   while ( iterator.hasNext() )   {   System.out.println(iterator.next().toString());   } }    public static void main( String[] arg ) { Vector vector = new Vector();   vector.add( new Integer(1));   vector.add( new Integer(2));   vector.add( new Integer(3));   UtilTool.printAll(vector); }    }

printAll这个函数设计的很不好——不够通用,假如,还想打印HashSet类型的数据,你就必须重载printAll函数,代码如下

public static void printAll ( HashSet hashSet ) {   System.out.println( "the Collection is hashSet" );   System.out.println( hashSet.getClass().toString() );   Iterator iterator = hashSet.iterator();   while ( iterator.hasNext() )   {   System.out.println(iterator.next().toString());   } }

printAll函数的代码重用率低。其实Vector和 HashSet都是Collection的实现,可以将printAll的参数类型改为Collection,而不必重载。代码如下

public static void printAll ( Collection collection ) {   System.out.println( "the Collection is collection" );   System.out.println( collection.getClass().toString() );   Iterator iterator = collection.iterator();   while ( iterator.hasNext() )   {   System.out.println(iterator.next().toString());   } }

我学习使用java

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号