概述
Java是一种面向对象的编程语言, 面向对象编程, Object Oriented Programming, 简称OOP.
和面向对象不同的是,面向过程编程,即将模型分解为一步一步的过程.比如要写一个TODO List, 安装步骤一步一步来:
- 读取文件;
- 编写TODO;
- 保存文件.
面向对象编程, 是一种通过对象的方式, 把现实世界映射到计算机模型的一种编程方法.
面向对象的基本概念包括:
- 类
- 实例
- 方法
面向对象的实现方式:
- 继承
- 多态
Java本身提供的机制有:
- package
- classpath
- jar
Java标准库提供的核心类包括;
- 字符串
- 包装类型
- JavaBean
- 枚举
- 常用工具类
基础
现实世界中, 书是一种抽象的概念, 而具体的书则是"西游记", "人间词话", "骆驼祥子"等一个个具体的书.因此, 可以将书定义为一个类class, 具体的书则是实例instance.
现实世界 | 计算机模型 | Java代码 |
---|---|---|
树 | 类class | class Book {} |
西游记 | 实例book1 | Book book1 = new Book() |
人间词话 | 实例book2 | Book book2 = new Book() |
骆驼祥子 | 实例book3 | Book book3 = new Book() |
class是一种对象模板, 它定义了如何创建实例, 因此class本身就是一种数据类型. 而instance是对象实例, 是根据class创建的实例, 可以创建多个instance, 每个instance的类型相同, 但是各自的属性可能不相同.
// 创建一个Person类, 包含两个字段
class Book {
public String name;
public String author;
public String isbn;
public double price;
}
// 创建实例
Book book1 = new Book();
book1.name = "xiyouji"; // 对应字段name的值
book1.author = "wuchengen"; // 对应字段author的值
Book book2 = new Book();
book2.name = "luotuoxiangzi"; // 对应字段name的值
book2.author = "laoshe"; // 对应字段author的值
实例拥有类定义的字段, 且各自都有一份独立的数据, 互不干扰.