目录
第1章Java概述及开发环境搭建
1.1面向对象的程序设计思想
1.1.1面向对象的程序设计方法概述
1.1.2面向对象的软件开发过程
1.2Java语言简介
1.2.1Java语言的发展
1.2.2Java的三大平台
1.2.3Java语言的特点
1.2.4Java的运行机制
1.3Java开发环境搭建
1.3.1集成开发平台介绍
1.3.2JDK的安装与配置
1.4Java语言中的命名规则<p>目录</p> <p>第1章Java概述及开发环境搭建</p> <p>1.1面向对象的程序设计思想</p> <p>1.1.1面向对象的程序设计方法概述</p> <p>1.1.2面向对象的软件开发过程</p> <p>1.2Java语言简介</p> <p>1.2.1Java语言的发展</p> <p>1.2.2Java的三大平台</p> <p>1.2.3Java语言的特点</p> <p>1.2.4Java的运行机制</p> <p>1.3Java开发环境搭建</p> <p>1.3.1集成开发平台介绍</p> <p>1.3.2JDK的安装与配置</p> <p>1.4Java语言中的命名规则</p> <p>1.5简单的Java程序</p> <p>1.5.1**个Java应用程序</p> <p>1.5.2**个Java小程序</p> <p>1.6本章小结</p> <p>第2章Java语言基础</p> <p>2.1数据类型划分</p> <p>2.2基本数据类型、常量与变量</p> <p>2.2.1基本数据类型</p> <p>2.2.2常量与变量</p> <p>2.2.3程序的注释</p> <p>2.2.4类型转换</p> <p>2.3运算符与表达式</p> <p>2.3.1运算符</p> <p>2.3.2表达式及运算符的优先级、结合性</p> <p>2.4流程控制</p> <p>2.4.1顺序结构</p> <p>2.4.2分支结构</p> <p>2.4.3循环结构</p> <p>2.4.4跳转语句</p> <p>2.5数组</p> <p>2.5.1数组的声明</p> <p>2.5.2数组的创建</p> <p>2.5.3数组元素的初始化</p> <p>2.5.4数组的引用</p> <p>2.5.5多维数组</p> <p>2.6Scanner类</p> <p>2.6.1获取字符串数据</p> <p>2.6.2获取数值型数据</p> <p>2.7本章小结</p> <p>第3章类与对���</p> <p>3.1类</p> <p>3.1.1类的定义</p> <p>3.1.2构造方法</p> <p>3.1.3方法重载</p> <p>3.2对象的创建与使用</p> <p>3.2.1对象的声明与创建</p> <p>3.2.2this的使用</p> <p>3.3类的继承</p> <p>3.3.1派生子类</p> <p>3.3.2方法覆盖</p> <p>3.3.3super的使用</p> <p>3.4访问控制修饰符</p> <p>3.5非访问控制符</p> <p>3.5.1static</p> <p>3.5.2final</p> <p>3.5.3abstract</p> <p>3.6包</p> <p>3.6.1包的定义与使用</p> <p>3.6.2import语句</p> <p>3.6.3静态导入</p> <p>3.6.4给Java应用打包</p> <p>3.7接口</p> <p>3.7.1接口的定义</p> <p>3.7.2抽象类与接口的应用</p> <p>3.7.3Java 8对接口的扩展</p> <p>3.8本章小结</p> <p>第4章深入理解Java语言</p> <p>4.1Object类</p> <p>4.2变量及其传递</p> <p>4.2.1基本类型变量与引用类型变量</p> <p>4.2.2成员变量与局部变量</p> <p>4.2.3方法的参数传递</p> <p>4.3多态</p> <p>4.3.1多态性</p> <p>4.3.2引用类型之间的类型转换</p> <p>4.3.3instanceof运算符</p> <p>4.4对象构造与初始化</p> <p>4.5内部类与匿名类</p> <p>4.5.1内部类</p> <p>4.5.2匿名内部类</p> <p>4.6Java的反射机制</p> <p>4.6.1认识Class类</p> <p>4.6.2通过反射查看类信息</p> <p>4.7Java 8新增的lambda表达式</p> <p>4.7.1lambda表达式的基本语法</p> <p>4.7.2lambda表达式与函数式接口</p> <p>4.7.3lambda表达式与匿名内部类的联系与区别</p> <p>4.8本章小结</p> <p>第5章异常处理</p> <p>5.1异常处理简介</p> <p>5.1.1异常处理的意义</p> <p>5.1.2异常的分类</p> <p>5.1.3捕获和处理异常</p> <p>5.2自定义异常类与抛出异常对象</p> <p>5.2.1声明自己的异常类</p> <p>5.2.2抛出异常对象</p> <p>5.3使用assert断言</p> <p>5.4本章小结</p> <p>第6章常用类与工具类</p> <p>6.1Java语言的常用类</p> <p>6.1.1Java API</p> <p>6.1.2System类</p> <p>6.1.3Math类</p> <p>6.1.4基本数据类型的包装类</p> <p>6.2字符串</p> <p>6.2.1String类</p> <p>6.2.2StringBuffer类</p> <p>6.2.3StringBuilder类</p> <p>6.3泛型</p> <p>6.3.1泛型简单使用</p> <p>6.3.2自定义泛型</p> <p>6.3.3Java 8改进的类型推断</p> <p>6.4集合类</p> <p>6.4.1集合与Collection接口</p> <p>6.4.2List接口及ArrayList类、Vector类</p> <p>6.4.3Set接口及HashSet、TreeSet类</p> <p>6.4.4栈与队列</p> <p>6.4.5Map接口</p> <p>6.4.6集合与增强的for语句</p> <p>6.4.7利用Iterator及Enumeration集合遍历</p> <p>6.4.8使用Arrays类</p> <p>6.4.9使用Collections类</p> <p>6.5本章小结</p> <p>第7章Java多线程程序</p> <p>7.1Java中的线程</p> <p>7.1.1线程的基本概念</p> <p>7.1.2线程的状态和生命周期</p> <p>7.1.3线程调度与优先级</p> <p>7.1.4线程组</p> <p>7.2Java的Thread类和Runnable接口</p> <p>7.2.1Thread类</p> <p>7.2.2Runnable接口</p> <p>7.3Java多线程并发程序</p> <p>7.3.1使用Thread类的子类</p> <p>7.3.2实现Runnable接口</p> <p>7.4线程池</p> <p>7.5线程的同步</p> <p>7.5.1多线程的不同步</p> <p>7.5.2临界区和线程的同步</p> <p>7.5.3wait()方法和notify()方法</p> <p>7.5.4生产者消费者问题</p> <p>7.5.5死锁</p> <p>7.6本章小结</p> <p>第8章输入输出与文件的读写</p> <p>8.1输入输出流</p> <p>8.1.1I/O流的基本概念</p> <p>8.1.2常见的I/O流类</p> <p>8.2文件及目录</p> <p>8.2.1写文本文件</p> <p>8.2.2读文本文件</p> <p>8.2.3写二进制文件</p> <p>8.2.4读二进制文件</p> <p>8.2.5File类</p> <p>8.2.6随机文件读写</p> <p>8.2.7对象序列化</p> <p>8.3本章小结</p> <p>第9章图形用户界面</p> <p>9.1AWT简介</p> <p>9.2Swing组件的使用</p> <p>9.2.1基本容器: JFrame</p> <p>9.2.2标签组件: JLabel</p> <p>9.2.3按钮组件: JButton、JCheckBox和JRadioButton</p> <p>9.2.4中间容器: JPanel和JScrollPane</p> <p>9.2.5文本组件: JTextField、JPasswordField和JTextArea</p> <p>9.2.6列表框和组合框: JComboBox和JList </p> <p>9.3布局管理器</p> <p>9.3.1FlowLayout</p> <p>9.3.2BorderLayout</p> <p>9.3.3GridLayout</p> <p>9.4事件处理</p> <p>9.4.1事件处理机制</p> <p>9.4.2事件适配器</p> <p>9.4.3常用事件处理</p> <p>9.5模型视图控制器设计模式</p> <p>9.6表格组件</p> <p>9.7菜单组件</p> <p>9.8本章小结</p> <p>第10章图形图像处理</p> <p>10.1图形</p> <p>10.1.1绘制图形的类</p> <p>10.1.2路径类</p> <p>10.1.3点与线段类</p> <p>10.1.4矩形和圆角矩形</p> <p>10.2绘制图形的颜色及其他</p> <p>10.2.1颜色类</p> <p>10.2.2调色板</p> <p>10.2.3绘图模式</p> <p>10.3图像</p> <p>10.3.1图像文件的格式及文件的使用权限</p> <p>10.3.2显示图像</p> <p>10.4本章小结</p> <p>第11章多媒体、网络与数据库编程</p> <p>11.1Java多媒体技术应用</p> <p>11.1.1图像处理</p> <p>11.1.2声音文件的播放</p> <p>11.1.3用Java实现动画</p> <p>11.1.4利用JMF来播放视频</p> <p>11.2Java网络编程</p> <p>11.2.1InetAddress类简介</p> <p>11.2.2面向连接的流式套接字</p> <p>11.2.3面向非连接的数据报</p> <p>11.3Java数据库编程</p> <p>11.3.1SQL语言基础</p> <p>11.3.2数据库连接</p> <p>11.3.3数据库应用综合实例</p> <p>11.4本章小结</p> <p>参考文献</p>显示全部信息前 言前言
本书是黑龙江省教育科学“十二五”规划2015年度两个**项目(项目名称:“互联网 ”背景下本科院校计算机基础教育教学方式改革研究;项目编号: GJB1215032。项目名称:应用型本科院校慕课的开发与“慕课 翻转课堂”的应用研究;项目编号: GJB1215030)的部分研究成果。
“Java程序设计”课程的教学要求是要让学生掌握面向对象的编程思想,通过大量的例子引导学生掌握Java语言的基础知识、基本概念及基本原理,以达到培养学生编程能力的目标,因此本书在编写过程中秉承着逻辑性强、思路清晰、由浅入深的知识组织方式。
本书共11章,各章的学习内容如下:
第1章介绍了面向对象编程思想,Java语言的发展、特点,Java的三大平台以及开发Java程序的环境;
第2章介绍了Java语言的基础知识和相关概念;<p>前言</p> <p>本书是黑龙江省教育科学“十二五”规划2015年度两个**项目(项目名称: “互联网 ”背景下本科院校计算机基础教育教学方式改革研究; 项目编号: GJB1215032。项目名称: 应用型本科院校慕课的开发与“慕课 翻转课堂”的应用研究; 项目编号: GJB1215030)的部分研究成果。</p> <p>“Java程序设计”课程的教学要求是要让学生掌握面向对象的编程思想,通过大量的例子引导学生掌握Java语言的基础知识、基本概念及基本原理,以达到培养学生编程能力的目标,因此本书在编写过程中秉承着逻辑性强、思路清晰、由浅入深的知识组织方式。</p> <p>本书共11章,各章的学习内容如下:</p> <p>第1章介绍了面向对象编程思想,Java语言的发展、特点,Java的三大平台以及开发Java程序的环境;</p> <p>第2章介绍了Java语言的基础知识和相关概念;</p> <p>第3章和第4章介绍了类与对象的关系、类及对象的创建及接口应用,并且为了让学生对Java语言有进一步的了解,介绍了Java的Object类、变量及其传递、引用类型间的类型转换、内部类与匿名类、Java的反射机制及Java 8新增的lambda表达式等内容;</p> <p>第5章介绍了异常处理的意义以及异常的分类,如何使用异常处理机制处理异常,并对自定义异常和抛出异常对象的方法进行了阐述;</p> <p>第6章介绍了Java语言的常用类及API的查阅方法,介绍了字符串类的常用方法,泛型的基本知识和自定义泛型的方法,集合框架、集合的主要接口及其实现类,并详细介绍了如何遍历集合;</p> <p>第7章详细介绍了线程的基本概念、线程调度与优先级的策略、实现多线程应用的两种途径、Java多线程并发程序的实现及线程池等知识点;</p> <p>第8章介绍了输入输出流的基本概念,介绍了各种流的使用,以文件流为例介绍了如何读写文件,*后介绍对象序列化的相关知识及使用方法;</p> <p>第9章对Java的图形用户界面开发中的AWT和Swing两种技术进行了详细介绍;</p> <p>第10章介绍了如何绘制图形以及如何显示图像;</p> <p>第11章介绍了多媒体技术、网络编程和数据库编程技术。</p> <p>本书由李凌霞任主编,侯占军、刘明刚任副主编。各章编写分工如下: 第1、2章由哈尔滨金融学院徐宏伟编著; 第3、4、9章由哈尔滨金融学院李凌霞编著; 第5、8章由哈尔滨金融学院刘明刚编著; 第6章由哈尔滨金融学院奚望园编著; 第7、10、11章由哈尔滨金融学院侯占军编著。全书由李凌霞统稿,齐景嘉主审。</p> <p>参加本书编写的教师都从事“Java程序设计”课程教学多年,有丰富的教学经验。在编写过程中,我们力求做到严谨细致、精益求精,但由于编者水平有限,书中难免有疏漏之处,敬请广大读者指正。</p> <p>编者</p> 2018年3月显示全部信息免费在线读第3章类与对象
本章学习目标 理解类与对象的关系、类的定义及使用。 理解构造方法的作用。 理解方法重载的意义。 掌握关键字this的使用。 利用继承性由父类创建子类。 掌握关键字super的使用。 理解实例变量与类变量、实例方法与类方法的不同。 设计并使用抽象类。 理解包的概念及使用。 掌握接口的定义及实现方法。
在本章中将学习面向对象编程技术。面向对象程序设计把数据和属于它们的操作放入被称为对象的实体中,所有对象都与属性数据和操作数据联系在一起,程序可以看成是相互合作的对象所构成的集合,面向对象程序设计是一种更贴近现实世界的程序组织方式。本章将主要介绍类与对象的关系、类的定义及使用,利用继承性由父类创建子类,*后介绍接口的定义及实现方法。
3.1类
在面向对象程序设计中,对象代表现实世界中可以明确标识的一个实物,例如,一个人、一个学生、一张桌子、一根粉笔、一只猫、一个圆甚至一笔贷款等都可以看作一个对象,对象有自己的属性信息和行为。 对象的属性是由数据域的集合构成。例如,一个学生对象的属性信息可以由学号、姓名、年龄、成绩等构成。 对象的行为是由对数据信息的操作——方法的集合构成。例如,一个学生的信息操作可以有显示学习状态、计算成绩、获取成绩等。Java程序是由类构成的,编写Java程序主要就是定义各种类,类是定义同一类型对象的结构,定义一个类相当于定义了一个新的“数据类型”,用来规定具体对象的数据域和操作数据的方法。类和对象之间的关系可以比作比萨配方和比萨的关系,一个对象是类的一个实例,对象和实例经常互换使用,是等价的概念。传统的过程化程序设计通常从顶部的main函数开始编写程序。在面向对象程序设计时,首先从设计类开始,然后再往每个类中添加方法。识别类的简单规则是在分析问题的过程中寻找名词,而方法则对应着动词。例如,在学生选课系统中有这样一些名词: 学生、教师、课程等,这些名词很可能成为类Student、Teacher、Course。接下来查看动词: 选课、授课、获取成绩等,这些动词可能成为方法addCourse、teachCourse、getScore。例如,当一个学生选了某门课程时,那个学生对象是被选定的对象,因此方法addCourse是Student类的一个方法,而Course对象是一个参数。由此,类之间的关系常见的有以下几种: 依赖关系——是一种*常见的关系,如果一个类的方法操作另一个类的对象,我们说一个类依赖于另一个类。应该尽可能地将相互依赖的类减至*少,就是让类之间的耦合度*低。 聚合关系——也称关联关系,聚合关系意味着类A的对象包含类B的对象。 继承关系——是一种表示特殊与一般的关系,如果类A继承类B,类A不但包含从类B继承的方法,还可以拥有一些自己的特殊功能。3.1.1类的定义类是现实世界中具体对象的抽象,它包括了对象的数据域和操作数据的方法。类定义的语法格式为: