杰瑞科技汇

java面向对象程序设计耿祥义

总体特点

在开始之前,先了解这本书的特点,这有助于你更好地学习:

  • 入门友好:语言平实,由浅入深,非常适合零基础或初学者。
  • 结构清晰:章节安排符合认知规律,从Java基础到高级特性,层层递进。
  • 注重实践:每章后都有大量习题,鼓励读者动手编码,巩固所学知识。
  • 面向对象为核心:全书围绕“面向对象”这一主线展开,从类与对象讲到继承、多态等高级特性,贯穿始终。

核心章节与知识点详解

第1章:Java入门

这是Java世界的敲门砖,主要解决“是什么”和“怎么做”的问题。

  • 核心概念
    • Java语言的特点:跨平台性(“一次编写,到处运行”)、面向对象、简单性、安全性、健壮性等,重点理解JVM(Java虚拟机)是实现跨平台的关键。
    • JDK、JRE、JVM的关系
      • JVM:Java虚拟机,执行.class文件的引擎。
      • JRE:Java运行环境,包含JVM和Java核心类库。
      • JDK:Java开发工具包,包含JRE和开发工具(如javac, java)。
    • 开发环境搭建:安装JDK,配置环境变量JAVA_HOMEPath
    • 第一个程序 HelloWorld
      • 编写源文件(.java
      • 编译(javac)生成字节码文件(.class
      • 运行(java)执行程序

第2章:基本数据类型与数组

本章介绍Java的“原材料”和最基本的数据结构。

  • 核心概念
    • 基本数据类型
      • 四类八种byte, short, int, long, float, double, char, boolean
      • 类型转换:自动类型转换(小类型到大类型)和强制类型转换(大类型到小类型,需注意精度丢失)。
    • 引用数据类型:类、接口、数组等。
    • 数组
      • 声明与创建int[] arr = new int[5];int[] arr = {1, 2, 3};
      • 使用:通过下标(索引)访问元素,从0开始。
      • 特点:长度固定,元素类型相同。

第3章:运算符、表达式与语句

这是程序逻辑的“砖瓦”,教你如何用代码进行计算和流程控制。

  • 核心概念
    • 运算符
      • 算术运算符:, , , , (取模)。
      • 关系运算符>, <, >=, <=, , ,返回boolean值。
      • 逻辑运算符&&(与), (或), (非),用于连接boolean表达式。
      • 赋值运算符:, , 等。
    • 表达式:由运算符和操作数组成,有计算结果。
    • 语句
      • 条件语句if-else, switch
      • 循环语句for, while, do-while
      • 跳转语句break(跳出循环/switch), continue(跳过本次循环)。

第4章:面向对象(上)- 类与对象

这是全书的重中之重,是理解Java的基石。

  • 核心概念
    • :对一类事物的抽象描述,是创建对象的模板,包含属性(成员变量)和方法(成员函数)。
    • 对象:类的具体实例,是实实在在存在的个体。
    • 面向对象思想
      • 封装:将数据(属性)和操作数据的方法(方法)捆绑在一起,并对外部隐藏实现细节,只暴露必要的接口(public方法),通过private关键字实现。
      • 构造方法
        • 特殊的方法,与类同名,没有返回值。
        • 作用:在创建对象时进行初始化。
        • 特点:如果未显式定义,JVM会提供一个默认的无参构造方法;如果定义了有参构造方法,默认的无参构造方法会被覆盖。
    • this关键字:代表当前对象的引用,可以用来区分成员变量和局部变量,或在构造方法中调用其他构造方法(this(...))。

第5章:面向对象(中)- 继承与多态

面向对象的两大支柱,让代码更具复用性和扩展性。

  • 核心概念
    • 继承
      • 关键字:extends
      • 作用:子类继承父类的属性和方法,实现代码复用。
      • 特点:Java只支持单继承,但支持多层继承,子类拥有父类的非private成员。
      • 方法重写:子类可以提供一个与父类方法具有相同签名(方法名+参数列表)的方法实现,覆盖父类的实现。@Override注解可以帮助检查。
    • 多态
      • 定义:同一操作作用于不同的对象,会产生不同的执行结果。
      • 实现条件:必须有继承关系;子类重写父类方法;父类引用指向子类对象(Parent p = new Child();)。
      • 优点:提高代码的灵活性和可扩展性。
      • instanceof运算符:用于判断一个对象是否是某个类(或其子类、实现接口)的实例。

第6章:接口与内部类

这是对面向对象思想的补充和扩展。

  • 核心概念
    • 接口
      • 定义:一种特殊的“抽象类”,只包含常量抽象方法(Java 8之前)。
      • 作用:定义规范/标准,实现类与类之间的解耦,一个类可以实现多个接口,弥补了Java单继承的不足。
      • Java 8+的新特性:接口中可以有default方法和static方法,为接口增加默认实现。
    • 内部类
      • 成员内部类:定义在另一个类的内部,可以访问外部类的所有成员。
      • 静态内部类:用static修饰,只能访问外部类的静态成员。
      • 局部内部类:定义在方法或作用域内。
      • 匿名内部类:没有名字的内部类,常用于简化代码,例如为事件监听器或线程创建实现。

第7章:常用实用类

介绍Java标准库中一些非常基础且常用的工具类。

  • 核心概念
    • 字符串String(不可变)、StringBuffer(线程安全,可变)、StringBuilder(非线程安全,可变,性能更高)。
    • 包装类:将基本数据类型包装成对象,如Integer, Double,它们提供了很多实用方法,并支持与基本类型的自动装箱/拆箱。
    • Math:提供数学运算的静态方法,如pow(), sqrt()
    • Scanner:用于获取用户的键盘输入。

第8章:Java异常处理

程序的“安全网”,教你如何优雅地处理程序运行时可能出现的错误。

  • 核心概念
    • 异常体系Throwable是所有异常的超类,它有两个子类:Error(严重错误,一般不处理)和Exception(异常,可以处理)。
    • 异常分类
      • 受检异常:编译器检查,必须处理(try-catchthrows)。
      • 非受检异常:运行时异常,编译器不强制处理。
    • 处理机制
      • try-catch-finallytry中放可能出错的代码,catch中捕获并处理异常,finally中的代码无论是否发生异常都会执行。
      • throws:将异常抛给方法的调用者处理。

第9章:输入输出流

处理程序与外部世界(文件、网络等)的数据交换。

  • 核心概念
    • :数据序列,按方向分为输入流输出流
    • 字节流InputStream, OutputStream,处理二进制数据(如图片、视频)。
    • 字符流Reader, Writer,处理文本数据(如.txt文件),有自动编码转换。
    • 文件流FileInputStream, FileOutputStream, FileReader, FileWriter,专门用于文件操作。
    • 缓冲流BufferedInputStream等,为流提供缓冲,提高IO效率。

第10章:图形用户界面编程

使用Java的Swing库创建图形界面。

  • 核心概念
    • 容器JFrame(主窗口)、JPanel(面板)。
    • 组件JButton(按钮)、JLabel(标签)、JTextField(文本框)、JTextArea(文本域)等。
    • 布局管理器:控制组件在容器中的排列方式,如FlowLayout(流式)、BorderLayout(边界)、GridLayout(网格)。
    • 事件处理:通常采用“监听器”模式,为组件(如按钮)添加事件监听器,当事件发生时(如点击),执行相应的代码。

第11章:多线程

让程序能够同时执行多个任务,提高CPU利用率。

  • 核心概念
    • 进程 vs 线程:进程是资源分配的基本单位,线程是CPU调度的基本单位,一个进程可以包含多个线程。
    • 创建线程的两种方式
      1. 继承Thread:重写run()方法。
      2. 实现Runnable接口:实现run()方法,然后将Runnable实例传给Thread对象。
    • 线程的生命周期:新建、就绪、运行、阻塞、死亡。
    • 线程同步:当多个线程共享数据时,需要同步机制来避免数据不一致,主要使用synchronized关键字(同步方法或同步代码块)。

学习建议

  1. 动手敲代码:这是最重要的一点,书上的例子一定要亲手敲一遍,修改参数,观察结果,理解其背后的原理。
  2. 理解概念,而非死记:不要只背“封装是private”,要理解“为什么要封装”——为了安全、为了隐藏实现细节、为了稳定。
  3. 多做习题:每章后的习题是检验学习效果的最佳方式,能帮你发现知识盲点。
  4. 画图辅助理解:对于类与对象、继承、多态等抽象概念,画UML图(类图)能让你看得更清楚。
  5. 循序渐进:不要急于求成,把基础打牢了,后面的高级内容才能学得通透。

耿祥义老师的这本书是一本非常优秀的入门教材,只要你认真跟学,扎实地掌握以上知识点,就为后续学习Java EE、Android开发等方向打下了坚实的基础,祝你学习顺利!

分享:
扫描分享到社交APP
上一篇
下一篇