对于java基本类库的学习

转载 2004年09月19日 13:19:00

对于java基本类库的学习

作为java程序员必须掌握java类库的两个包:java.lang和java.util这两个包。java.lang包提供的是java编程要用到的基本类包,java程序员天天在用,无非是看别人如何用,自己就如何用,但很少有人去总结一下,比如String 和StringBuffer这两个类有什么差别,应该有很多java程序员说不出来。另外Vector和HashMap这两个类大家都在用,有多少人能说清楚Vector和HashMap继承了哪些类,实现了哪些接口呢。

学习阶段。认真阅读java API的以下内容:java.lang包中的String,StringBuffer,Number,Double,Float,Byte,Short,Integer,Long,Character,Boolean,Process,Runtime,System,Object,Cloneable,Class,ClassLoader,Thread,ThreadGroup,Runnable,Package类或接口。java.util包中的Collection,list,Set,ArrayList,LinkedList,Hashset,TreeSet,Iterator,Map,SortedMap,HashMap,TreeMap,Comparator,Arrays,Enumeration,Vector,Stack,Dictionary,Hashtable,Properties,StringTokenizer,BitSet,Date,Calendar,Locale,Random,Observer,Observable类和接口。主要理清楚这些类或接口的继承关系、主要功能。

演绎阶段。通过阅读代码,练习编程,学习并应用这些类和接口。其实这些类的大部分是经常用的,无非对这些类和接口说不清楚。在这些类中,对java.lang和java.util包中的类,最好将各个方法练习使用一次。而对java.util包中Collections framework中的类,最好理清楚各个类和接口之间的关系。常用的类的方法我就不具体介绍了,我举一个使用Observer和Obserable 的例子(摘自《The Complete Reference Java 2 》)。在Observer和Obserable中,java实现了对设计模式Observer的支持。
Watcher.java代码

import java.util.*;

class Watcher implements Observer
{
public void update(Observable obj, Object arg )
{
System.out.println("Update() called, count is " +
((Integer) arg).intValue());
}
}


BeingWatched.java代码

import java.util.*;

class BeingWatched extends Observable
{
void counter( int period )
{
for(;period >=0; period-- )
{
setChanged();
notifyObservers( new 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);
}
};

执行结果

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,依个人的应用来开发了。

如何查看JAVA类库中的类的方法的具体实现代码

1.用eclipse或者MyEclipse,在程序里有代码Interger.bitCount(100); 按住ctrl键,再单击bitCount(), 第一次会让你连接源代码,你选第二个,“外部的文件...
  • wconvey
  • wconvey
  • 2013年05月12日 09:34
  • 4451

【Java学习笔记】5:简单认识Java常用类库

Java API,是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 Java类库是系统提供的已实现的标准类的集合,...
  • SHU15121856
  • SHU15121856
  • 2017年03月25日 16:15
  • 403

一位资深程序员大牛给予Java初学者的学习路线建议

java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈...
  • li_xiao_ming
  • li_xiao_ming
  • 2016年08月29日 08:47
  • 20990

Java需要掌握的常用类库

Java 类库概念: Java 的应用程序接口 (API) 以包的形式来组织,每个包提供了大量的相关类、接口和异常处理类,这些包的集合就是 Java 的类库   包名以 Java 开始的包是 Ja...
  • basycia
  • basycia
  • 2016年03月01日 09:15
  • 5657

java中常用的类库学习(1)

首先是StringBuffer类,该类是String类很类似,也增加了一些新的方法, 比如说reveser方法、字符串连接是用append方法,要转化为普通的String类型可以用toString(...
  • luoyexuge
  • luoyexuge
  • 2015年11月05日 13:42
  • 730

Java学习笔记(类库介绍)

Java 的类定义语法: [类类型关键字] class 类名字 [extends] 父类名字 { [存取权限关键字] [静态标志] 变量名字; [存取权限关键字]...
  • llping2010
  • llping2010
  • 2013年08月13日 18:20
  • 1608

如何利用Java库学习神经网络

原文:Learning Neural Networks Using Java Libraries 作者: Daniela Kolarova 翻译:lloog 译者注:作者介绍了神...
  • dev_csdn
  • dev_csdn
  • 2017年10月29日 16:43
  • 3505

Google的Java常用类库 Guava

Guava 中文是石榴的意思,该项目是 Google 的一个开源项目,包含许多 Google 核心的 Java 常用库。 1. 基本工具 [Basic utilities]     让使用Java语言...
  • luo201227
  • luo201227
  • 2014年06月26日 14:31
  • 8629

Java一些基础类库小结

 1.常用的基础jar包 作为java语言使用者,我们可以感受到java语言带来的优势(平台无关、面向对象、多线程、高效易扩展等),而且它有很多已经实现的类库可以供我们直接使用,这些类库都是以...
  • linhaiyun_ytdx
  • linhaiyun_ytdx
  • 2015年10月13日 13:29
  • 691

一位资深程序员大牛给予Java初学者的学习路线建议

java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈...
  • u014209975
  • u014209975
  • 2016年09月06日 10:17
  • 30030
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:对于java基本类库的学习
举报原因:
原因补充:

(最多只允许输入30个字)