第4章 包、接口、类_第1页
第4章 包、接口、类_第2页
第4章 包、接口、类_第3页
第4章 包、接口、类_第4页
第4章 包、接口、类_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4章章 包、接口、类库包、接口、类库 Java程序时类与接口的集合程序时类与接口的集合可以将常用的类或功能相似的类放在一可以将常用的类或功能相似的类放在一个软件包中。个软件包中。编写程序仅仅依靠程序员自己设计类和编写程序仅仅依靠程序员自己设计类和接口是不行的,应大量地调用系统类库接口是不行的,应大量地调用系统类库4.1 包包 Java 包机制包机制将相似的类和接口可以放在同一个包中集中管理将相似的类和接口可以放在同一个包中集中管理程序编译的类被放在包内,要访问类就要给出类程序编译的类被放在包内,要访问类就要给出类所属的包名,来指明类是在哪一个包中,以便能所属的包名,来指明类是在哪一个包中,

2、以便能够找到该类。一个包中有许多类,同时还可以有够找到该类。一个包中有许多类,同时还可以有子包。子包。JavaJava语言的包可以被另一个语言的包可以被另一个JavaJava开发包所开发包所使用使用 Java Java 包机制提供了树形结构的多层次命名空间,包机制提供了树形结构的多层次命名空间,如如java.lang.System.out.printlnjava.lang.System.out.println简单理解:包就是简单理解:包就是目录(目录不一定是包)目录(目录不一定是包)4.1 包 4.1.1 包的声明包的声明 1 1包语句包语句package package 包名包名1.1.包名

3、包名2.2.包名包名3;3; 包的声明语句必须放在程序源文件的开始,前包的声明语句必须放在程序源文件的开始,前面如果包括语句,只能是注释语句。面如果包括语句,只能是注释语句。JavaJava规定,任何一个源文件最多只能有一个包规定,任何一个源文件最多只能有一个包声明语句,包名全部用小写声明语句,包名全部用小写包名前可以带路径,形成多层次命名空间包名前可以带路径,形成多层次命名空间包的名字有层次关系,各层之间用点分隔包的名字有层次关系,各层之间用点分隔 4.1 包包 4.1.1 包的声明包的声明 1 1包语句包语句 要使用包,首先创建一个子目录,然后要使用包,首先创建一个子目录,然后将源程序放在

4、该子目录中,编译源程序将源程序放在该子目录中,编译源程序后,生成的字节码文件即在该包中。后,生成的字节码文件即在该包中。4.1 包包 2包声明示例包声明示例package family;package family;class Parentsclass Parents class Sonclass Son class Daughterclass Daughter interface Workinterface Work 上述程序经过编译,就可以建立程序包上述程序经过编译,就可以建立程序包familyfamilypackage family;public class Parents String

5、 father=张三张三,mother=李四李四; public void displayParentsName() System.out.println(父亲的名字是:父亲的名字是:+father); System.out.println(母亲的名字是:母亲的名字是:+mother); class Son String name=张三四张三四; void displaySonName() System.out.println(儿子的名字是:儿子的名字是:+name); class Daughter String name=张三五张三五; void displayDaughterName()

6、System.out.println(女儿的名字是:女儿的名字是:+name); 4.1 包 /引用上页中建立的包中的类引用上页中建立的包中的类import family.*;public class my public static void main(String args) Parents p=new Parents(); p.displayParentsName(); / Son s=new Son(); /出问题吗?出问题吗? / s.displaySonName(); /保存为保存为Parents.javapackage family; public class Parents S

7、tring father=张三张三,mother=李四李四; public void displayParentsName() System.out.println(父亲的名字是:父亲的名字是:+father); System.out.println(母亲的名字是:母亲的名字是:+mother); /保存为保存为Son.javapackage family;public class Son String name=张三四张三四; void displaySonName() System.out.println(儿子的名字是:儿子的名字是:+name); class Daughter Strin

8、g name=张三五张三五; void displayDaughterName() System.out.println(女儿的名字是:女儿的名字是:+name); 4.1 包 /引用上页中建立的包中的类引用上页中建立的包中的类import family.*;public class my public static void main(String args) Parents p=new Parents(); p.displayParentsName(); Son s=new Son(); s.displaySonName();/ Daughter d=new Daughter(); /出问

9、题?出问题?/ d.displayDaughterName(); 4.1 包 /多层次包的建立多层次包的建立package ha.zz.zzdx;public class my public static void main(String args) new Test().print(); class Test /前面需要加前面需要加public吗?吗? public void print() System.out.println(这个程序用于建立包的多层结构这个程序用于建立包的多层结构!); 4.1 包 l上例中的两个类均位于包上例中的两个类均位于包ha.zz.zzdx中,完整名称为中,完整

10、名称为ha.zz.zzdx.my和和ha.zz.zzdx.Testl同一包中的类相互访问,不需指明包;如果从外部访问包中的类,同一包中的类相互访问,不需指明包;如果从外部访问包中的类,则需使用完整的类名称则需使用完整的类名称l包的存放位置与包层次中对应的目录结构一致包的存放位置与包层次中对应的目录结构一致l如果上述文件如果上述文件my.java存放在存放在d:java,则编译产生的则编译产生的my.class和和Test.class必须在必须在d:javahazzzzdx中,且将中,且将d:java放置在放置在classpath中中l包的产生方法:包的产生方法: javac d . my.ja

11、va (my.java在当前目录中,即在当前目录中,即ha的父目录)的父目录) 或者从当前目录开始逐级建立子目录,将或者从当前目录开始逐级建立子目录,将my.java复制到复制到zzdx中,中, 并在并在zzdx中编译中编译my.javal上例的执行方法:上例的执行方法: java ha.zz.zzdx.my建议使用第二种方法产生包建议使用第二种方法产生包4.1 包包 4.1.2 包的引用包的引用 包引入包引入importimport语句的格式是:语句的格式是:import import 包名包名1.1.包名包名2.2.包名包名3 (3 (. .类名类名| |* *); ); 一个程序中可以导

12、入多个包,每个包都要用一一个程序中可以导入多个包,每个包都要用一条条importimport语句导入语句导入一个一个importimport语句只能引入一个包,且不能自动语句只能引入一个包,且不能自动引入下级包引入下级包一个程序中可以有多条一个程序中可以有多条importimport语句语句4.1 包 4.1.2 包的引用包的引用 package ha.zz.zzdx; /在上面生成的包中再添一个类在上面生成的包中再添一个类public class Add public int add(int a,int b)/构造方法?构造方法? return a+b; 4.1 包 4.1.2 包的引用包的

13、引用 import ha.zz.zzdx.*; /引入引入上面建立的包上面建立的包public class my public static void main(String args) Add test = new Add() ; System.out.println(test.add(5,8); 4.1 包 4.1.2 包的引用包的引用 l一个程序中可导入多个包,每个一个程序中可导入多个包,每个import语句只语句只能导入一个包能导入一个包l包可以压缩形式(包可以压缩形式(.jar)存储在某个目录中)存储在某个目录中ljava.lang不需要导入,可直接使用其中的类不需要导入,可直接使用

14、其中的类l使用使用import导入某个包中的所有类(用导入某个包中的所有类(用*)时)时不会自动导入子包中的类,子包中的类需要另不会自动导入子包中的类,子包中的类需要另外用外用import导入:导入: import java.awt.*; import java.awt.event.*;4.1 包 4.1.2 包的引用包的引用 包可以压缩形式(包可以压缩形式(.jar)存储在某个目录中)存储在某个目录中用法用法(以上面建立的以上面建立的ha.zz.zzdx包为例):包为例):jar cf myp.jar ha/ (生成打包文件(生成打包文件myp.jar)可将可将myp.jar放在任意目录下,

15、并添加到放在任意目录下,并添加到classpath中中在应用程序中导入在应用程序中导入ha.zz.zzdx包,即可使用其中的类包,即可使用其中的类 42 接口接口接口是方法定义和常量值的集合接口是方法定义和常量值的集合接口只含常量和方法的定义,不含变量接口只含常量和方法的定义,不含变量和方法的实现和方法的实现使用接口可以实现多重继承使用接口可以实现多重继承42 接口接口4.2.1 接口的声明接口的声明 修饰符修饰符 interface interface 接口名接口名 / /常量和方法声明常量和方法声明 JavaJava编译系统会自动把声明的变量当做编译系统会自动把声明的变量当做public

16、static public static finalfinal类型的变量(即常量)来处理类型的变量(即常量)来处理 接口中的变量必须初始化,且不能在实现类中被修改接口中的变量必须初始化,且不能在实现类中被修改接口中的方法默认为接口中的方法默认为public abstract public abstract 接口的修饰符只有访问控制修饰符,含义同类的访问接口的修饰符只有访问控制修饰符,含义同类的访问控制修饰符控制修饰符42 接口接口public interface Rangepublic interface Range int MIN=0; int MIN=0; int getMaxValue(

17、); int getMaxValue(); void setMaxValue(int maxValue); void setMaxValue(int maxValue); 可以不出现可以不出现省略了省略了public static final,加上也可以加上也可以省略了省略了public abstract,加上也可以加上也可以42 接口接口4.2.2 接口的继承接口的继承 和类相同,接口可以实现继承,一个接口可以继和类相同,接口可以实现继承,一个接口可以继承父接口的所有成员承父接口的所有成员 interface FirstInterfaceinterface FirstInterface vo

18、id ff1(); void ff1(); interface SecondInterface extends FirstInterfaceinterface SecondInterface extends FirstInterface void ff2(); void ff2(); 可以通过如下定义方式实现接口的多重继承:可以通过如下定义方式实现接口的多重继承:interface interface 接口名接口名 extends extends 接口名接口名1,1,接口名接口名2,2,接口名接口名3 3 42 接口接口4.2.3 4.2.3 接口的实现接口的实现 在类声明时,利用在类声明时,

19、利用implementsimplements子句来表示一个类使用子句来表示一个类使用了某个接口,也就是说实现了某个接口了某个接口,也就是说实现了某个接口一个类可以一个类可以implementsimplements多个接口,这些接口以逗号分多个接口,这些接口以逗号分隔。隔。在类中可以使用接口中定义的常量,但必须实现接口在类中可以使用接口中定义的常量,但必须实现接口中定义的所有方法中定义的所有方法 格式是:格式是:class class 类名类名 implements implements 接口名列表接口名列表 例:例: class MyClass implements Range class M

20、yClass implements Range interface computeArea int a=5; void set_size(double s1,double s2); double get_area();class Triangle implements computeArea double bottom,height; public void set_size(double size1,double size2) bottom=size1;height=size2; public double get_area() return(bottom*height/2); class

21、Rectangle implements computeArea double length,width; public void set_size(double size1,double size2) length=size1;width=size2; public double get_area() return(length*width); public class my public static void main(String args) Triangle tt=new Triangle(); Rectangle rr=new Rectangle(); tt.set_size(3,

22、4); System.out.println(三角形的面积是三角形的面积是:+tt.get_area(); rr.set_size(5,6); System.out.println(矩形的面积是矩形的面积是:+rr.get_area(); 必须加上必须加上publicabstract class Figure double x,y; void set_size(double s1,double s2) x=s1; y=s2; abstract double get_area();class Triangle extends Figure double get_area() return(x*y

23、/2); class Rectangle extends Figure double get_area() return (x*y); public class my public static void main(String args) Triangle tt=new Triangle(); Rectangle rr=new Rectangle(); tt.set_size(5,6); System.out.println(三角形的面积是三角形的面积是:+tt.get_area(); rr.set_size(7,8); System.out.println(矩形的面积是矩形的面积是:+rr

24、.get_area(); 42 接口接口接口总结接口总结从本质上讲,当类实现一个接口的时候,就签从本质上讲,当类实现一个接口的时候,就签定了一个契约。所有的类必须实现所有定义在定了一个契约。所有的类必须实现所有定义在接口以及它的父接口中的方法接口以及它的父接口中的方法类之间只能单继承,但接口之间可以多重继承类之间只能单继承,但接口之间可以多重继承一个类可以实现多个接口一个类可以实现多个接口由于接口中的方法都是抽象方法,所以创建的由于接口中的方法都是抽象方法,所以创建的类如果不是抽象类就一定要实现所有接口中的类如果不是抽象类就一定要实现所有接口中的所有方法(当该类实现这些接口时),如果是所有方法

25、(当该类实现这些接口时),如果是抽象类则可以不实现抽象类则可以不实现42 接口接口接口与抽象类的区别与联系接口与抽象类的区别与联系接口可以是一组没有关系的类之间共有的属性和行为。如接口可以是一组没有关系的类之间共有的属性和行为。如bird和和plane都能飞,可以设计一个接口都能飞,可以设计一个接口flyable ,里面定义,里面定义fly方法,方法,bird类和类和plane类都可以实现这一接口,并在各自的类中定义不类都可以实现这一接口,并在各自的类中定义不同的具体的同的具体的fly方法。方法。抽象类则表达了一组相关的类的共同属性和行为。抽象类必须被抽象类则表达了一组相关的类的共同属性和行为

26、。抽象类必须被继承才有意义,而继承同一抽象类的不同子类一般属于相关的类。继承才有意义,而继承同一抽象类的不同子类一般属于相关的类。 当不能明确地区分多个类是否相关时,既可以使用接口,也可以当不能明确地区分多个类是否相关时,既可以使用接口,也可以使用抽象类使用抽象类实际应用中,接口和抽象类一概不用也可以。实际应用中,接口和抽象类一概不用也可以。复习复习 说明抽象方法、类、抽象类、接口说明抽象方法、类、抽象类、接口4 4个概个概念之间的关系。念之间的关系。 抽象方法:只有声明,没有方法体的特殊方法抽象方法:只有声明,没有方法体的特殊方法类:由属性和方法组成,其中方法不能是抽象方法类:由属性和方法组

27、成,其中方法不能是抽象方法抽象类:由属性和方法组成,其中至少有一个抽象方法抽象类:由属性和方法组成,其中至少有一个抽象方法接口:由常量和抽象方法构成接口:由常量和抽象方法构成java.langjava.lang.Mathjava.lang.SystemJava.io.Filejavax.swingJava资源的层次结构图资源的层次结构图4.3 Java类库类库 4.3 Java类库类库 4.3.1 Java类库结构类库结构 1 1 java.langjava.lang包包 lJavaJava语言核心包,包括语言核心包,包括JavaJava语言基础类,如语言基础类,如基本数据类型、基本数值函数、

28、字符串处理、基本数据类型、基本数值函数、字符串处理、线程、异常处理等。线程、异常处理等。ljava.langjava.lang包中的类不需要用包中的类不需要用importimport语句引入,语句引入,也就是说,每个程序运行时,系统都会自动也就是说,每个程序运行时,系统都会自动引入引入java.langjava.lang包。包。 4.3 Java类库类库 2 java.io包包l包含了用于数据输入输出的类,主要用于支包含了用于数据输入输出的类,主要用于支持与设备有关的数据输入输出,即数据流输持与设备有关的数据输入输出,即数据流输入输出、文件输入输出、缓冲区流以及其它入输出、文件输入输出、缓冲区

29、流以及其它设备的输入输出。凡是需要完成与操作系统设备的输入输出。凡是需要完成与操作系统相关的较低层的操作,都应该在程序的首部相关的较低层的操作,都应该在程序的首部引入引入java.iojava.io包。包。4.3 Java类库类库 3 3java.appletjava.applet包包 它提供了创建用于浏览器的它提供了创建用于浏览器的AppletApplet小程序小程序所需要的类,第所需要的类,第7 7章详细介绍章详细介绍4.3 Java类库类库 4java.awt包包 java.awt java.awt包是包是awtawt(Abstract Window Abstract Window To

30、olkitToolkit)抽象窗口工具集,它提供了图抽象窗口工具集,它提供了图形用户界面设计、传输操作、布局管理形用户界面设计、传输操作、布局管理和用户交互控制、事件响应的类。和用户交互控制、事件响应的类。4.3 Java类库类库 包包ljavajava的网络包,提供了对网络应用的支持,的网络包,提供了对网络应用的支持,包括三种类型的类:用于访问包括三种类型的类:用于访问InternetInternet资源资源的类,如的类,如URLURL;调用;调用CGICGI通用网关接口的类通用网关接口的类;用于实现套接字接口用于实现套接字接口SocketSocket网络应用的类。网络应用的类。4.3 Ja

31、va类库类库 6 java.math包包ljavajava语言数学包,包括数学运算类和小数运语言数学包,包括数学运算类和小数运算类,提供完善的数学运算方法和三角函数,算类,提供完善的数学运算方法和三角函数,如数值运算方法、求最大值最小值、数据比如数值运算方法、求最大值最小值、数据比较、类型转换等类较、类型转换等类 4.3 Java类库类库 7. java.util包包ljavajava实用程序包,提供了提供了许多实用工实用程序包,提供了提供了许多实用工具,如日期时间类(具,如日期时间类(DateDate),),堆栈类堆栈类(StackStack),),哈希表类(哈希表类(HashHash),)

32、,向量类向量类(VectorVector),),随机数类(随机数类(randomrandom),系统属),系统属性类性类(Properties(Properties )。 4.3 Java类库类库 8。java.security包包ljavajava安全包,提供了网络安全架构所需的类安全包,提供了网络安全架构所需的类和接口,可以有效地管理和控制程序的安全和接口,可以有效地管理和控制程序的安全性性,如给程序进行数字加密、签名等。,如给程序进行数字加密、签名等。4.3 Java类库类库 9 java.SQL包包ljavajava数据库包,提供了数据库包,提供了JavaJava语言访问处理数语言访问

33、处理数据库的接口和类,它是实现据库的接口和类,它是实现JDBCJDBC(Java Java Database ConnectDatabase Connect)的核心类库)的核心类库。4.3 Java类库类库 10 java.rmi包包ljavajava远程方法调用包,远程方法调用包,java.rmijava.rmi包提供了实包提供了实现 远 程 方 法 调 用 (现 远 程 方 法 调 用 ( r e m o t e m e t h o d r e m o t e m e t h o d invocationinvocation)所需的类,用户远程方法调用所需的类,用户远程方法调用是指用户程序

34、基于是指用户程序基于JVMJVM在远程计算机上创建在远程计算机上创建对象,并在本地计算机上使用这个对象对象,并在本地计算机上使用这个对象 4.3 Java类库类库 11 java.text包包ljavajava文本包,提供了一种独立于自然语言的文本包,提供了一种独立于自然语言的方式处理文本、日期、数字、消息的类和接方式处理文本、日期、数字、消息的类和接口,实现日期、数字、消息的格式化、字符口,实现日期、数字、消息的格式化、字符串搜索排序的功能串搜索排序的功能. .4.3 Java类库类库 12 java.beansjava.beans包包l提供了一系列与提供了一系列与JavaBeanJavaB

35、ean开发有关的类开发有关的类 4.3 Java类库类库 4.3.2 java.lang包介绍包介绍1 1、Object类类lObject类是所有类是所有Java类的祖先,它处于类的祖先,它处于Java开发环开发环境的类层次树的根部,所有其他类都是境的类层次树的根部,所有其他类都是Object类直类直接或间接派生出来的。接或间接派生出来的。l如果一个类在定义时没有包含如果一个类在定义时没有包含extends关键字,编译关键字,编译器会将其建为器会将其建为Object类的直接子类。类的直接子类。lObject类定义了所有对象的最基本的一些状态和行类定义了所有对象的最基本的一些状态和行为,它提供的

36、方法会被为,它提供的方法会被Java中的每个类所继承。中的每个类所继承。 方法说明protected Object clone()生成并返回当前对象的一个拷贝public boolean equals(Object obj)比较两个对象的值是否相等,结果为布尔型(与=不同)public final Class getClass()返回一个对象在运行时所对应的类的表示,从而可以得到相关的类的信息protected void finalize() 启动垃圾回收器回收当前对象public String toString()返回描述当前对象的字符串信息Object类的常用方法4.3 Java类库类库

37、4.3.2 java.lang包介绍包介绍import java.awt.Rectangle;import java.awt.Rectangle;class myclass my public static void main(String args) public static void main(String args) Integer a=new Integer(1); Integer a=new Integer(1); Integer b=new Integer(1); Integer b=new Integer(1); Rectangle c=new Rectangle(20,5);

38、 Rectangle c=new Rectangle(20,5); System.out.println( System.out.println(a.equals(ba.equals(b);); System.out.println( System.out.println(对象的类是对象的类是+a.getClassa.getClass();(); System.out.println( System.out.println(c.toStringc.toString();(); Object类的方法的例子类的方法的例子4.3 Java类库类库 4.3.2 java.lang包介绍包介绍true对

39、象的类是对象的类是class java.lang.Integerjava.awt.Rectanglex=0,y=0,width=20,height=5运行结果为:运行结果为:4.3 Java类库类库 2、数据类型类(包装类)、数据类型类(包装类)第第2章介绍的基本数据类型如章介绍的基本数据类型如int、float、char、boolean等只能用来定义变量,不能等只能用来定义变量,不能派生子类,本身也不具备任何操作。派生子类,本身也不具备任何操作。为确保为确保java语言的纯面向对象特性,语言的纯面向对象特性,java.lang包为基本数据类型提供了一些对包为基本数据类型提供了一些对象封装。数

40、据类型包装类用于封装基本数据象封装。数据类型包装类用于封装基本数据类型的有关信息和操作。类型的有关信息和操作。数据类型包装类是由多个类组成的一个集合,数据类型包装类是由多个类组成的一个集合,每种基本数据类型均存在相应的对象封装类。每种基本数据类型均存在相应的对象封装类。4.3 Java类库类库 4.3.2 java.lang包介绍包介绍java的数据类型类及其对应的基本数据类型的数据类型类及其对应的基本数据类型基本数据类型基本数据类型数据类型类数据类型类 byteByte shortShort int Integer long Long float Float doubleDouble cha

41、rCharacter booleanBoolean4.3 Java类库类库 每个类型包装类都提供了一些方法和属性,用每个类型包装类都提供了一些方法和属性,用来操作和处理它所对应的基本数据类型量。来操作和处理它所对应的基本数据类型量。数据类型包装类都是最终类。数据类型包装类都是最终类。各类型包装类有一些共同的方法,另外,他们各类型包装类有一些共同的方法,另外,他们还实现了一些自己的方法。还实现了一些自己的方法。4.3 Java类库类库 4.3.2 java.lang包介绍包介绍数据类型类中的一些常用方法:数据类型类中的一些常用方法:public static String toString(in

42、t i) 把整型对象变为字符串把整型对象变为字符串public static int parseInt(String s) 把字符串对象解析为整数把字符串对象解析为整数public static Integer valueOf(String s)把字符串转换为把字符串转换为Integer型对象型对象public int intValue() 返回对象相应的整数值返回对象相应的整数值4.3 Java类库类库 public class Exam public static void main(String args) Integer a=new Integer(1); Boolean b=new

43、Boolean(true); Float f=new Float(-2.4); Double d=new Double(1.4); Character ch=new Character(A); Character ch2=new Character(A); int i=Value(); char c=ch.charValue(); System.out.println(i); System.out.println(b.booleanValue(); System.out.println(f.floatValue(); System.out.println(d.doubleValue(

44、); System.out.println(c); System.out.println(ch.equals(ch2); System.out.println(d.toString();数据类型类的例子1true-2.41.4Atrue1.4上例的运行结果为:上例的运行结果为:4.3 Java类库类库 类变量类变量说明说明public static final int MAX_VALUE规定了规定了int类型的最大值类型的最大值public static final int MIN_VALUE规定了规定了int类型的最小值类型的最小值方法方法说明说明public static int pars

45、eInt(String s)throws NumberFormatException将字符串将字符串s转为带符号十进制数,结果为转为带符号十进制数,结果为int量量public static Integer valueOf(String s) throws NumberFormatException将字符串将字符串s转为一个转为一个Integer对象,该对象对应对象,该对象对应的的int数值与字符串表示的数值一致数值与字符串表示的数值一致Integer类的常用类变量及其说明类的常用类变量及其说明Integer类的常用方法及其说明类的常用方法及其说明4.3 Java类库类库 4.3.2 java

46、.lang包介绍包介绍public class MyApp public static void main(String args) Integer a=new Integer(1); Integer a2=new Integer(1); int i=Value(); int i2=Integer.valueOf(111).intValue(); int i3=Integer.parseInt(888); System.out.println(i);System.out.println(i2); System.out.println(i3);System.out.println(a.

47、equals(a2); byte largestByte=Byte.MAX_VALUE; short largestShort=Short.MAX_VALUE; int largestInteger=Integer.MAX_VALUE; int smallestInteger=Integer.MIN_VALUE; long largestLong=Long.MAX_VALUE;Integer类的应用示例类的应用示例 float largestFloat=Float.MAX_VALUE; double largestDouble=Double.MAX_VALUE; System.out.prin

48、tln(the largest byte value is +largestByte); System.out.println(the largest short value is +largestShort); System.out.println(the largest Integer value is +largestInteger); System.out.println(the smallest integer value is +smallestInteger); System.out.println(the largest long value is +largestLong);

49、 System.out.println(the largest float value is +largestFloat); System.out.println(the largest Double value is +largestDouble); Integer类的应用示例类的应用示例1111888truethe largest byte value is 127the largest short value is 32767the largest Integer value is 2147483647the smallest integer value is -2147483648th

50、e largest long value is 9223372036854775807the largest float value is 3.4028235E38the largest Double value is 1.7976931348623157E308上例的运行结果上例的运行结果3、 系统类系统类System类是一个功能强大、及其有用的特殊的类,类是一个功能强大、及其有用的特殊的类,它提供了标准输入、标准输出和标准错误输出,对系它提供了标准输入、标准输出和标准错误输出,对系统信息的存取以及快速拷贝数组元素等机制。统信息的存取以及快速拷贝数组元素等机制。System类的继承树为:类的

51、继承树为: java.lang.Object java.lang.SystemSystem类由类由public final修饰,该类不能被实例化修饰,该类不能被实例化(即不能产生(即不能产生System类的对象)或派生子类。类的对象)或派生子类。System类中包含了许多有用的类变量和类方法类中包含了许多有用的类变量和类方法(由由static修饰修饰)。4.3 Java类库类库 4.3.2 java.lang包介绍包介绍使用使用System类变量的语法格式为:类变量的语法格式为: 类名类名.变量名变量名使用使用System类变量的语法格式为:类变量的语法格式为: 类名类名.方法名方法名另外,另

52、外,System类还包含一系列的系统属性,系类还包含一系列的系统属性,系统一经启动,系统的属性值就已被初始化。可通统一经启动,系统的属性值就已被初始化。可通过过getProperty(String key)方法和方法和setProperty(String key)方法来获得和设置系方法来获得和设置系统的属性值。统的属性值。4.3 Java类库类库 System类的变量(属性)及其说明类的变量(属性)及其说明类变量(类属性)类变量(类属性)说明说明 public static final PrintStream err标准错误输出流标准错误输出流 public static final Inpu

53、tStream in标准输入流标准输入流 public static final PrintStream out标准输出流标准输出流4.3 Java类库类库 Java的标准输入、标准输出和标准错误输出分的标准输入、标准输出和标准错误输出分别保存在别保存在in、out和和err变量中。变量中。 同时,同时,System.in是标准输入流,它是是标准输入流,它是java.io包中包中InputStream类的一个对象,其类的一个对象,其read()方方法允许通过键盘输入字符。法允许通过键盘输入字符。 System.out是标准输出流,它也是是标准输出流,它也是java.io包包中中PrintStr

54、eam类的一个对象,其类的一个对象,其println()方方法用于再屏幕上显示信息。法用于再屏幕上显示信息。 System.err是标准错误输出流,其是标准错误输出流,其println()方法用于在屏幕上显示错误信息。方法用于在屏幕上显示错误信息。4.3 Java类库类库 常用格式:常用格式:int i=System.in.read();System.out.print(“dkdk”);System.out.println(“dkdk”);System.err.println(“wrong”);4.3 Java类库类库 5.2 语言包public class MyApp public stat

55、ic void main(String args) throws Exception char c; System.out.println(请输入一个字符:); /c=(char)System.in.read(); c=a; System.out.println(你输入了:+c);System.out.println(System.currentTimeMillis()=+System.currentTimeMillis(); System.out.println(java.version=+System.getProperty(java.version); System.out.printl

56、n(java.home=+System.getProperty(java.home);System.out.println(=+System.getProperty();System.out.println(java.class.path=+System.getProperty(java.class.path); System.out.println(user.home=+System.getProperty(user.home); System.out.println(user.dir=+System.getProperty(user.dir)

57、; System.out.println(=+System.getProperty(); System类的例子类的例子 System.out.println(=+System.getProperty(); System.out.println(os.arch=+System.getProperty(os.arch); System.out.println(os.version=+System.getProperty(os.version); System.out.println(file.separator=+System.getProperty(file.separator);System.out.println(path.separator=+Sy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论