目录
第1章Java入门
1.1Java的平台无关性
1.1.1平台与机器指令
1.1.2C/C 程序依赖平台
1.1.3虚拟机与平台
1.2Java之父——James Gosling
1.3Java的地位
1.3.1网络地位<br /><br /><br /><br />目录<br /><br />第1章Java入门<br />1.1Java的平台无关性<br />1.1.1平台与机器指令<br />1.1.2C/C 程序依赖平台<br />1.1.3虚拟机与平台<br />1.2Java之父——James Gosling<br />1.3Java的地位<br />1.3.1网络地位<br />1.3.2语言地位<br />1.3.3需求地位<br />1.4安装JDK<br />1.4.1平台简介<br />1.4.2安装Java SE平台<br />1.5Java程序的开发步骤<br />1.6一个简单的Java应用程序<br />1.6.1编写源文件<br />1.6.2编译<br />1.6.3运行<br />1.7上机实践<br />习题<br />第2章Java应用程序的基本结构<br />2.1问题的提出<br />2.2简单的Circle类<br />2.3使用Circle类创建对象<br />2.3.1用类声明对象<br />2.3.2为对象分配变量<br />2.3.3使用对象<br />2.4在应用程序中使用对象<br />2.5Java应用程序的基本结构<br />2.6在一个源文件中编写多个类<br />2.7编程风格<br />2.7.1Allmans风格<br />2.7.2Kernighan风格<br />2.7.3注释<br />2.8上机实践<br />习题<br />第3章标识符与简单数据类型<br />3.1标识符与关键字<br />3.1.1标识符<br />3.1.2关键字<br />3.2简单数据类型<br />3.2.1逻辑类型<br />3.2.2整数类型<br />3.2.3字符类型<br />3.2.4浮点类型<br />3.3简单数据类型的级别与类型转换运算<br />3.4从命令行窗口输入、输出数据<br />3.4.1输入基本型数据<br />3.4.2输出基本型数据<br />3.5上机实践<br />习题<br />第4章运算符、表达式与语句<br />4.1运算符与表达式<br />4.1.1算术运算符与算术表达式<br />4.1.2自增,自减��算符<br />4.1.3算术混合运算的精度<br />4.1.4关系运算符与关系表达式<br />4.1.5逻辑运算符与逻辑表达式<br />4.1.6赋值运算符与赋值表达式<br />4.1.7位运算符<br />4.1.8instanceof运算符<br />4.1.9运算符综述<br />4.2语句概述<br />4.3if条件分支语句<br />4.3.1if语句<br />4.3.2ifelse语句<br />4.3.3ifelse ifelse语句<br />4.4switch开关语句<br />4.5循环语句<br />4.5.1for循环语句<br />4.5.2while循环<br />4.5.3dowhile循环<br />4.6break和continue语句<br />4.7数组<br />4.7.1声明数组<br />4.7.2为数组分配元素<br />4.7.3数组元素的使用<br />4.7.4length的使用<br />4.7.5数组的初始化<br />4.7.6数组的引用<br />4.7.7遍历数组<br />4.8上机实践<br />习题<br />第5章类与对象<br />5.1面向对象的特性<br />5.2类<br />5.2.1类声明<br />5.2.2类体<br />5.2.3成员变量<br />5.2.4方法<br />5.2.5需要注意的问题<br />5.2.6类的UML类图<br />5.3构造方法与对象的创建<br />5.3.1构造方法<br />5.3.2创建对象<br />5.3.3使用对象<br />5.3.4对象的引用和实体<br />5.4参数传值<br />5.4.1传值机制<br />5.4.2基本数据类型参数的传值<br />5.4.3引用类型参数的传值<br />5.5对象的组合<br />5.5.1由矩形和圆组合而成的图形<br />5.5.2关联关系和依赖关系的UML图<br />5.6实例成员与类成员<br />5.6.1实例变量和类变量的声明<br />5.6.2实例变量和类变量的区别<br />5.6.3实例方法和类方法的定义<br />5.6.4实例方法和类方法的区别<br />5.7方法重载与多态<br />5.8this关键字<br />5.8.1在构造方法中使用this<br />5.8.2在实例方法中使用this<br />5.9包<br />5.9.1包语句<br />5.9.2有包名的类的存储目录<br />5.9.3运行有包名的主类<br />5.10import语句<br />5.10.1引入类库中的类<br />5.10.2引入自定义包中的类<br />5.11访问权限<br />5.11.1何谓访问权限<br />5.11.2私有变量和私有方法<br />5.11.3共有变量和共有方法<br />5.11.4友好变量和友好方法<br />5.11.5受保护的成员变量和方法<br />5.11.6public类与友好类<br />5.12基本类型的类包装<br />5.12.1Double和Float类<br />5.12.2Byte、Short 、Integer、Long类<br />5.12.3Character类<br />5.13可变参数<br />5.14上机实践<br />习题<br />第6章子类与继承<br />6.1子类与父类<br />6.2子类的继承性<br />6.2.1子类和父类在同一包中的继承性<br />6.2.2子类和父类不在同一包中的继承性<br />6.2.3继承关系(Generalization)的UML图<br />6.3成员变量的隐藏和方法重写<br />6.3.1成员变量的隐藏<br />6.3.2方法重写(Override)<br />6.4super关键字<br />6.4.1用super操作被隐藏的成员变量和方法<br />6.4.2使用super调用父类的构造方法<br />6.5final关键字<br />6.5.1final类<br />6.5.2final方法<br />6.5.3常量<br />6.6对象的上转型对象<br />6.7继承与多态<br />6.8abstract类和abstract方法<br />6.9面向抽象编程<br />6.10开闭原则<br />6.11上机实践<br />习题<br />第7章接口与实现<br />7.1接口<br />7.2实现接口<br />7.3理解接口<br />7.4接口的UML图<br />7.5接口回调<br />7.6接口与多态<br />7.7接口变量做参数<br />7.8abstract类与接口的比较<br />7.9面向接口编程<br />7.10上机实践<br />习题<br />第8章内部类与异常类<br />8.1内部类<br />8.2匿名类<br />8.2.1和子类有关的匿名类<br />8.2.2和接口有关的匿名类<br />8.3异常类<br />8.3.1trycatch语句<br />8.3.2自定义异常类<br />8.3.3finally子语句<br />8.4断言<br />8.5上机实践<br />习题<br />第9章常用实用类<br />9.1String类<br />9.1.1构造字符串对象<br />9.1.2String类的常用方法<br />9.1.3字符串与基本数据的相互转化<br />9.1.4对象的字符串表示<br />9.1.5字符串与字符、字节数组<br />9.1.6正则表达式及字符串的替换与分解<br />9.2StringBuffer类<br />9.2.1StringBuffer对象的创建<br />9.2.2StringBuffer类的常用方法<br />9.3StringTokenizer类<br />9.4Date类<br />9.4.1构造Date对象<br />9.4.2日期格式化<br />9.5Calendar类<br />9.6Math和BigInteger类<br />9.6.1Math类<br />9.6.2BigInteger类<br />9.7DecimalFormat类<br />9.7.1格式化数字<br />9.7.2将格式化字符串转化为数字<br />9.8Pattern与Match类<br />9.8.1模式对象<br />9.8.2匹配对象<br />9.9Scanner类<br />9.10上机实践<br />习题<br />第10章输入输出流<br />10.1File类<br />10.1.1文件的属性<br />10.1.2目录<br />10.1.3文件的创建与删除<br />10.1.4运行可执行文件<br />10.2字节流与字符流<br />10.2.1InputStream类与OutputStream类<br />10.2.2Reader类与Writer类<br />10.2.3关闭流<br />10.3文件字节流<br />10.3.1文件字节输入流<br />10.3.2文件字节输出流<br />10.4文件字符流<br />10.5缓冲流<br />10.6随机流<br />10.7数组流<br />10.8数据流<br />10.9对象流<br />10.10序列化与对象克隆<br />10.11文件锁<br />10.12使用Scanner解析文件<br />10.13上机实践<br />习题<br />第11章组件及事件处理<br />11.1Java Swing概述<br />11.2窗口<br />11.2.1JFrame常用方法<br />11.2.2菜单条、菜单、菜单项<br />11.3常用组件与布局<br />11.3.1常用组件<br />11.3.2常用容器<br />11.3.3常用布局<br />11.3.4选项卡窗格<br />11.4处理事件<br />11.4.1事件处理模式<br />11.4.2ActionEvent事件<br />11.4.3ItemEvent事件<br />11.4.4DocumentEvent事件<br />11.4.5MouseEvent事件<br />11.4.6焦点事件<br />11.4.7键盘事件<br />11.4.8匿名类实例或窗口做监视器<br />11.4.9事件总结<br />11.5使用MVC结构<br />11.6对话框<br />11.6.1消息对话框<br />11.6.2输入对话框<br />11.6.3确认对话框<br />11.6.4颜色对话框<br />11.6.5文件对话框<br />11.6.6自定义对话框<br />11.7发布GUI程序<br />11.8上机实践<br />习题<br />第12章Java多线程机制<br />12.1进程与线程<br />12.1.1操作系统与进程<br />12.1.2进程与线程<br />12.2Java中的线程<br />12.2.1Java的多线程机制<br />12.2.2线程的状态与生命周期<br />12.2.3线程调度与优先级<br />12.3Thread类与线程的创建<br />12.3.1使用Thread的子类<br />12.3.2使用Thread类<br />12.3.3关于run方法启动的次数<br />12.4线程的常用方法<br />12.5线程同步<br />12.6在同步方法中使用wait()、notify()和notifyAll()方法<br />12.7线程联合<br />12.8上机实践<br />习题<br />第13章Java网络编程<br />13.1URL类<br />13.1.1URL的构造方法<br />13.1.2读取URL中的资源<br />13.2InetAddress类<br />13.2.1地址的表示<br />13.2.2获取地址<br />13.3套接字<br />13.3.1套接字概述<br />13.3.2客户端套接字<br />13.3.3ServerSocket对象与服务器端套接字<br />13.3.4使用多线程技术<br />13.4UDP数据报<br />13.4.1发送数据包<br />13.4.2接收数据包<br />13.5广播数据报<br />13.6Java远程调用(RMI)<br />13.6.1远程对象及其代理<br />13.6.2RMI的设计细节<br />13.7上机实践<br />习题<br />第14章JDBC数据库操作<br />14.1Derby数据库<br />14.2在命令行连接内置Derby数据库<br />14.2.1启动ij环境<br />14.2.2连接内置Derby数据库<br />14.2.3操作表<br />14.2.4Derby数据库常用的基本数据类型<br />14.3在命令行连接网络Derby数据库<br />14.3.1启动Derby数据库服务器<br />14.3.2连接网络Derby数据库<br />14.4JDBC<br />14.4.1连接内置Derby数据库<br />14.4.2连接网络Derby数据库<br />14.5查询操作<br />14.5.1顺序查询<br />14.5.2控制游标<br />14.5.3条件与排序查询<br />14.6更新、添加与删除操作<br />14.7使用预处理语句<br />14.7.1预处理语句优点<br />14.7.2使用通配符<br />14.8事务<br />14.8.1事务及处理<br />14.8.2JDBC事务处理步骤<br />14.9上机实践<br />习题<br />参考文献<br /><br />显示全部信息前 言序言
前言
本书精选Java核心内容和重要的实用技术,注重Java语言的面向对象特性,强调面向对象的程序设计思想,在实例上侧重实用性和启发性,在类、对象、继承、接口等重要的基础知识上侧重编程思想,在实用类、输入输出流、Java 网络技术、JDBC数据库操作等实用技术方面侧重实用。通过本书的学习,读者可以掌握Java面向对象编程的思想和Java编程中的一些重要技术。
在第3版中,除了更新了JDK 1.8(也称为JDK 8)的版本外,在内容上做了适当的调整,特别增加了每章的上机实践内容。对第14章做了比较大的调整,由原来的操作Access数据库,更改为操作JDK新版本自带的Derby数据库。删除了很少使用的第15章的内容。序言 <p> </p> <p>前言</p> <p> </p> <p> </p> <p>本书精选Java核心内容和重要的实用技术,注重Java语言的面向对象特性,强调面向对象的程序设计思想,在实例上侧重实用性和启发性,在类、对象、继承、接口等重要的基础知识上侧重编程思想,在实用类、输入输出流、Java 网络技术、JDBC数据库操作等实用技术方面侧重实用。通过本书的学习,读者可以掌握Java面向对象编程的思想和Java编程中的一些重要技术。</p> <p>在第3版中,除了更新了JDK 1.8(也称为JDK 8)的版本外,在内容上做了适当的调整,特别增加了每章的上机实践内容。对第14章做了比较大的调整,由原来的操作Access数据库,更改为操作JDK新版本自带的Derby数据库。删除了很少使用的第15章的内容。</p> <p>全书共分为14章。第1章主要介绍Java产生的背景和Java平台,读者可以了解到Java是怎样做到“一次写成,处处运行”的; 第2章讲述Java程序的基本结构; 第3章讲解简单数据类型; 第4章主要介绍Java运算符和控制语句; 第5章、第6章和第7章是本书的**内容之一,讲述类与对象、子类与继承、接口与实现等内容; 第8章讲解内部类和异常类,特别强调使用内部类的原则以及学习自定义异常的重要性; 第9章讲述常用的实用类,包括字符串、日期、正则表达式、模式匹配以及数学计算等实用类,特别讲解怎样使用Scanner类解析字符串; 第10章讲解Java中的输入输出流技术,特别介绍怎样使用输入输出流来克隆对象、Java的文件锁技术以及使用Scanner解析文件等重要内容; 第11章是基于Java Swing的GUI图形用户界面设计,讲解常用的组件和容器,特别详细讲解事件处理; 第12章讲述Java多线程技术,通过许多有启发的例子来帮助读者理解多线程编程; 第13章讲解Java在网络编程中的一些重要技术,涉及URL、Socket、InetAddress、DatagramPacket等重要的类,特别讲解Java远程调用(RMI); 第14章主要讲解Java怎样使用JDBC操作数据库,讲解了预处理、事务处理、批处理等重要技术。</p> <p>本书实例的源程序以及电子教案可以从清华大学出版社网站(www.tup.com.cn)上免费下载,以供读者学习使用; 也可以加入耿祥义教材教学QQ群(238455879)讨论相关内容。</p> <p>编者</p> <p>2017年6月</p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p>显示全部信息媒体评论评论免费在线读第5章类 与 对 象
主要内容 面向对象的特性; 类; 构造方法与对象的创建; 参数传值; 对象的组合; 实例成员与类成员; 方法重载与多态; this关键字; 包; import语句; 访问权限。面向对象语言有三个重要特性: 封装、继承和多态。学习面向对象编程要掌握怎样通过抽象得到类,继而学习怎样编写类的子类来体现继承和多态。本章主要讲述类和对象,即学习面向对象的**个特性: 封装,下一章学习面向对象的另外两个特性: 继承和多态。
5.1面向对象的特性随着计算机硬件设备功能的进一步提高,使得基于对象的编程成为可能。基于对象的编程更加符合人的思维模式,编写的程序更加健壮和强大,更重要的是,面向对象编程鼓励创造性的程序设计。面向对象编程是一种先进的编程思想,更加容易解决复杂的问题,面向对象编程主要体现下面三个特性。1. 封装性面向对象编程核心思想之一就是将数据和对数据的操作封装在一起。通过抽象,即从具体的实例中抽取共同的性质形成一般的概念,例如类的概念。在实际生活中,我们每时每刻都与“对象”在打交道。我们用的钢笔,骑的自行车,乘的公共汽车等。而我们经常见到的卡车、公共汽车、轿车等都会涉及以下几个重要的物理量,可乘载的人数、运行速度、发动机的功率、耗油量、自重、轮子数目等。另外,还有几个重要的功能: 加速功能、减速功能、刹车、转弯功能等。我们也可以把这些功能称作是他们具有的方法,而物理量是它们的状态描述,仅仅用物理量或功能不能很好地描述它们。在现实生活中,我们用这些共有的属性和功能给出一个概念: 机动车类。也就是说,人们经常谈到的机动车类就是从具体的实例中抽取共同的属性和功能形成的一个概念,那么一个具体的轿车就是机动车类的一个实例,即对象。一个对象将自己的数据和对这些数据的操作合理有效地封装在一起,例如,每辆轿车调用“加大油门”改变的都是自己的运行速度。2. 继承性继承体现了一种先进的编程模式。子类可以继承父类的属性和功能,即继承了父类具有的数据和数据上的操作,同时又可以增添子类独有的数据和数据上的操作。例如,“人类”自然继承了“哺乳类”的属性和功能,同时又增添了人类独有的属性和功能。