
出版社: 清华大学
原售价: 59.00
折扣价: 47.79
折扣购买: Java程序设计基础与实践(题库版21世纪高等学校计算机专业实用规划教材)
ISBN: 9787302499633
第3章 常用类 Java为程序开发者提供了丰富的类,这些类各自提供特殊的功能,并按照不同功能以类库形式组织起来。Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。本章将介绍常用的基本类。 当你阅读完本章以后,你将能够: 了解类的定义和类库中的常用类; 掌握类的引用规则; 掌握Math类的使用; 理解并掌握String类的定义和应用; 了解控制台输入输出类; 掌握Scanner类的应用; 理解并掌握print各种形式应用。 3.1类 的 引 用 Java类库中提供了具有丰富功能的类,灵活地使用这些类将使程序编写事半功倍。 3.1.1类和对象 什么是类?通过前面两章的学习,从直观上来看,Java的类就是一个具有特定功能的、以文件名保存在计算机中的程序文件,将所有这些具有特定功能的程序保存在一起就构成了类库。当我们进行程序编写时,可以调用这些程序或类,使程序编写变得简单。要掌握类库的调用方法就需要了解对象的概念。形式上以程序文件形式存在的类的本质是什么?对象又是什么呢?在Java中,对象就是客观事物的一个实体,而类则是具有共同属性的实体的集合。 在Java中有一句比较流行的话,叫做“万物皆对象”,这是Java语言设计之初的理念之一。要理解什么是对象,需要将它与类结合在一起,才能更好地理解。《Java编程思想》中关于类和对象的一段原话: “按照通俗的说法,每个对象都是某个类(class)的一个实例(instance),这里,“类”就是“类型”的同义词。” 从这一句话就可以理解到对象的本质,简而言之,它就是类的实例。例如,将大学中所有的本科学生统称为“大学生”,这里的“大学生”就是一个类(大学生的一种类型,大学中还有硕士研究生和博士研究生),而具体到每个人,例如张晓明这个人,它就是对象,就是“大学生”的实例。 类与对象的关系就如模具和铸件的关系,类的实例化的结果就是对象,而对对象的抽象就是类,类描述了一组有相同特性(属性)和相同行为的对象。 Java中定义的所有类只有通过实例化为对象才能够被引用。Java类分为用户自己编写的类以及Java类库中的类,这将在后续章节学习,本章将重点学习Java类库中类的使用。 3.1.2引用类型 Java中数据类型分为两大数据类型,基本数据类型和引用数据类型。第2章我们学习了基础数据类型和数组,而数组则属于引用数据类型,引用数据类型还包括类和接口。Java数据类型如图31所示。 图31Java数据类型 1. 引用变量和引用类型 引用类型(reference type)指向一个对象,指向对象的变量是引用变量。 在Java里面除去基础数据类型,其他类型都是引用数据类型,而自己定义的类都是引用类型。引用类型常见的有String,StringBuffer,ArrayList,HashSet,HashMap等,同时基础数据类型也对应的有其打包后的引用类型,如Integer、Long、Boolean、Byte、Character、Double、Float、Short 。 在程序设计中,每个变量都代表了一个存储值的位置。当声明一个变量时,就是通知编译系统这个变量可以存储一个特定类型的值。对于基本数据类型,对应内存存储的值是基础数据类型的值。对于引用类型变量,对应内存存储的值是一个引用,这个引用是对象的存储地址。 引用变量的值与基本类型变量不同,变量值是指向内存空间的引用(地址)。所指向的内存中保存着变量所表示的一个值或一组值。 例如,声明并创建一个int型数组iA: int[] iA = {0,1, 2, 3}; 这时引用变量iA对应内存存储的值是这个数组的引用或起始地址,而这个引用指向的对象则是一组整型数值“1,2,3”。 引用在其他语言中称为指针或内存地址。Java语言与其他程序设计语言不同,不支持在程序代码中显式地使用内存地址,而必须通过变量名对某个内存地址进行访问。 2. 基础类型变量和引用类型变量的区别 在Java语言中基础类型变量声明时,系统直接给该变量分配空间,因此程序中可以直接操作。例如, int a; //声明变量a的同时,系统给a分配了空间 a=12; 引用类型(或称为引用型)变量声明时,只是给该变量分配引用空间,而未分配数据空间。因此引用型变量声明后不能直接引用,下列第二条语句是错误的: int[] iA; iA[0]= 14; //错误!因为iA对象的数据空间未分配 引用类型变量在声明后必须通过实例化来开辟数据空间,才能对变量所指向的对象进行访问。通过对引用型变量声明与实例化语句的执行过程的分析,可以理解系统对引用型变量的处理。例如有如下语句: int[] iA; iA=new int[3]; //为数组iA分配了三个int类型的数据空间 iA[0]= 14; 第一条语句执行,将给iA变量分配一个保存引用的空间,第二条语句执行new int[3],给iA变量开辟数据空间,然后再执行第三条语句中的赋值操作,在数组的第一个元素对应的空间保存一个整数14。基础数据类型、引用数据类型以及对象在内存中的位置如图32所示,说明了基础类型变量a和引用类型数组iA在内存中存储的值以及对象的关系。 "《Java程序设计基础与实践(题库版)》采用最新平台,NetBeans 8.0下介绍,内容包含JavaFX等最新内容。 实践篇中通过开发案例贯串界面、文件、网络技术、线程、数据库、JavaFX等内容,即适合教学使用,也适合工程开发参考。"