《Java-补充常用类库培训资料》由会员分享,可在线阅读,更多相关《Java-补充常用类库培训资料(41页珍藏版)》请在金锄头文库上搜索。
1、补充:常用类库,Company Logo,主要内容,任务:掌握常用系统类的使用,熟悉其中的常用方法 方法:多用、多实践,学习目标 重点、难点,Company Logo,任务学习,Company Logo,支撑知识介绍 Object类 System类 Class类 Math类 基本数据类型包装类,主要内容,Java核心API包 Java.lang包 类Object,System 类String,StringBuffer 类Math,Class 基本数据类型包装类 java.util包 类Arrays,ArraysList 类Date,Calendar,Vector 集合 Set,List,Ite
2、rator,Java类库,Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。 这些系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合是一个包,合称为类库。 Java的类库大部分是由它的发明者SUN公司提供的,这些类库称为基础类库(JFC)。 API 应用程序编程接口 面向过程语言 函数库(子程序包) 面向对象语言 类库,Java类库结构,类库的结构 java.lang 语言基础类库(System、Math、 Thread、基本数据类型类) java.u
3、til Java的工具类库(集合容器、日期) java.io Java的标准输入输出类库 java.applet 用于实现Java Applet小程序的类库 java.awt 用于构建图形用户界面的类库 java.awt.event 界面用户交互控制和事件响应类库 Java的用于实现网络功能的类库 使用JDK Document查看类库,语言基础类库Object类,Java程序中所有类的直接或间接父类,也是类库中所有类的的父类,所有的其他类都是从Object类派生。 构造方法:Object( ) 一般方法: Object clone( ) 生成当前对象的一个拷贝。 boolean equals(
4、Object obj) 比较两个对象是否相等。 int hashCode() 返回该对象的哈希码值 Class getClass() 获取当前对象所属的类信息。 String toString() 用来返回当前对象本身的有关信息。 protected void finalize() 当垃圾收集器确定对象上没有其他的引用时,调用对象上的垃圾收集器。Object类上的此方法不执行任何特定行为,仅简单返回,其子类会覆盖此方法。,toString()方法,Object类定义有public String toString()方法,其返回值是String类型,描述当前对象的有关信息 在进行String与其
5、它类型数据的连接操作时(如:System.out.println(“info”+Person),将自动调用该对象类的toString()方法 可以根据需要在用户自定义类型中重写toString()方法,equals()方法,Object类定义有public boolean equals(Object obj)方法,判断对象是否“相等” Object的equals方法定义为:x.equals(y),当x和y是同一个对象的应用时返回true否则返回false J2SDK提供的一些类,如String、Date等,重写了equals()方法,当使用x.equals(y)时表示x和y所引用的对象是同一类
6、对象且属性内容相等(并不一定是相同对象)返回true,否则返回false 可以根据需要在用户自已定义的类中重写equals()方法,equals()重写步骤,0.判断自身对象与obj是否“=”,若是,则返回true.(不是必须 ) 1.判断对象是否为空,若为空,返回false,若不为空,到2; 2.判断obj是否判断是否为子类对象或自身对象,若是,则到3,若不是,则返回false; 3.转换obj为自身对象 4.比较关键属性,若相等,则返回true,否则返回false. 注意:重写之后的equals()方法应该满足其特征,语言基础类库System类,System类是一个特殊类,它是一个公共最终
7、类,不能被继承,也不能被实例化,即不能创建System类的对象。 System提供了标准输入输出、运行时的系统信息等工具,它所有的属性和方法都是静态(static)的,引用时应以System为前缀。 获取系统标准输入/输出/错误输出 System.in(对应于键盘输入或用户指定输入源) System.out(对应于显示屏或用户指定的输出源) System.err(对应于显示屏或用户指定的输出源),System类相关方法,获取系统时间 long currentTimeMillis(); 获取自1970年1月1日零时至当前系统时刻的毫秒数 数组复制 void arraycopy(Objectsrc
8、, intsrcPos, Objectdest, intdestPos, intlength) 将一个任意类型的数组快速地从一个地方复制到另一个地方 强制关闭Java虚拟机 void exit(int status); 强制Java虚拟机退出运行状态,并把状态信息status返回给运行虚拟机的操作系统。status非0描述非正常中断. 垃圾回收器 void gc(); 强制调用Java虚拟机的垃圾回收功能。,JAVA中的字符串(复习),Java把字符串(常量或变量)作为包java.lang中String类和StringBuffer类的对象来分别处理字符串常量和字符串变量。 由于使用频繁,有时也
9、被视为基本类型 遇到双引号自动创建String类的对象 提供字符串运算符,字符串的连接:+ 定长字符串:String类(效率较高) String类对象表示的是不可变的字符串,如果需要修改String对象所表示的内容,必须重新创建一个对象 String str=Peter“; str=str+ 不能更改,可用于比较、搜索之类的操作 当修改操作频繁,或字符串的值很大时,会额外分配大量内存 可变字符串:StringBuffer类(使用灵活) StringBuffer类对象是可变的字符串,有改变字符串内容和长度的若干方法,并且,StringBuffer在多线程中使用是安全的。 可追加、插入、修改,但内
10、存管理复杂,练习,定义Student类,包括学号、姓名、身高、体重属性,重写其equals()方法,用来判断两个同学是否为同一个人,重写toString()方法,输出每个同学的相关信息。,语言基础类库-Class类,Class类的实例代表一个正在运行的Java应用程序的类或接口,数组以及Java的基本数据类型(boolean,byte,char,short,int,long,float和double)和关键字void都是由Class对象来表达 Class类没有公共的构造器,用户无法自己生成Class类的对象,由JVM自动构造,Object是“万类之源”,Class是类的运行时表示,可以把每个C
11、lass类的对象当做众多类的代理,语言基础类库-Class类,Java运行时系统会对所有的对象进行类型识别 public final Class extends Object 一般方法: String getName() 返回类名。 Field getFields() 返回类的public域对象。 Method getMethods() 返回类的public方法对象。 Package getPackage() 返回该类的包。 Field 类 String getName() 取域名 Method 类 String getName() 取方法名 Package 类 String getName(
12、)取包名,语言基础类库:数据类型包装类,基本数据类型不是类,定义变量没有创建对象的过程,提高了性能。 基本数据类型 vs. 数据类型包装类 boolean vs Boolean, char vs Character,int vs Integer等 数据类型包装类 规定了数据类型的最大值MAX_VALUE、最小值MIN_VALUE 构造函数:如new Integer(10); 完成不同数据类型间转换,注意不同的数据类使用的方法会有不同。 Double.toString(0.08)、Integer.parseInt(“123”)、 Double.ValueOf(“0.08”).intValue (
13、)等,详细见JDK Doc,自动包装和自动解包,包装:把基本数据类型(如int)转换成基础类型封装类的对象(如new Integer() Integer a=new Integer(3); /手工包装 Integer a=3; /自动包装Java1.5之后 解包:把基础类型封装类的对象转换为基础数据类型 a.intValue /获取int形式的值 a=a+3; /自动解包,a.intValue()+3,Wrapper(包装)类,Integer类,整数类中包含了对整形数据(int)的各种常用操作 属性 staticint MAX_VALUE 返回int型数据的最大值 staticint MIN_
14、VALUE 返回int型数据的最小值 构造方法 Integer a=new Integer(); Integer(int value)Integer(String s) 方法 int intValue() double doubleValue()long longValue() String toString() static String toString(int i) static int parseInt(String s) static int parseInt(String s,int radix) throws NumberFormatException static Intege
15、r valueOf(String s) valueOf(int i) valueOf(String s,int radix) static int parseInt(String s),Character类,在处理字符串时,用Character类中的一些方法进行字符分类 常用方法 Public static boolean isDigit(char ch) ch是否是数字字符 Public static boolean isLetter(char ch) ch是否是字母 Public static boolean isLetterorDigit(char ch) ch是否是数字或字母 Publ
16、ic static boolean isSpace(char ch) ch是否是空格 Public static boolean toLowerCase(char ch) 返回ch的小写形式,类型转换利用类/对象方法,利用类方法(静态方法) Integer.parseInt(“23”) Integer.parseInt(23,16) Integer.parseInt(110,2) Integer.parseInt(110,8) Integer.toString(23) Double.parseDouble(“12.3”) Double.toString(12.3) 利用对象方法 Double d ; String s; / 声明 d=new Double(12.3) ; /创建 s= d.toString(); Double.valueOf(“12.3”).doubleValue() ; /返回 double d1=3; Double d2=4; = Double d2=new Double(4);,语言基础类库:Mat