Java作为一门面向对象编程语言,支持以下基本特性:
- 多态
- 继承
- 封装
- 抽象
- 类
- 对象
- 实例
- 方法
- 消息传递
这一节,我们一起来学习这两个基本概念:类和对象。回顾一下上一节中我们提到的基本概念:
- 对象 - 对象包含状态和行为。例如,一只小狗是一个对象,它具有的状态有颜色、名字和品种,以及具有的行为有摇尾巴、犬吠和吃东西等。对象是类的实例。
- 类 - 类可以被理解为一个模板或蓝图,用于描述对象支持的类型、描述对象的行为和状态。
Java中的对象
让我们来更深入地学习一下什么是对象。在我们的现实生活中,有很多的东西都是对象,例如猫,狗和人等等,所有这些对象都有状态和行为属性。
比如说,狗的状态属性有:名字,品种,颜色;行为属性有:犬吠,摇尾巴,奔跑。
软件中的对象和现实生活中对象的概念特征非常相似。软件中的对象同样有状态和行为属性,状态存放于字段中,而行为通过方法来展示。因此,在软件开发中,方法操作对象内部的状态,同时,对象间的通信也通过方法来完成。
Java中的类
我们在上一节中提到过,类可以被理解为一个模板或蓝图,而对象就是根据类这个模板创建的。
下面这段代码展示的是一个简单的类。
public class Dog {
String breed;
int age;
String color;
void barking() {
}
void hungry() {
}
void sleeping() {
}
}
类可以包含下面这几种的变量类型:
- 局部变量 - 定义在方法、构造器和代码块中的变量被称为局部变量。局部变量会在随方法申明和初始化,并在方法执行完成的时候被销毁
- 实例变量 - 实例变量是在类中、方法外的变量。实例变量会随着类的初始化而初始化,能被类中的任意方法、构造器和代码块访问。
- 类变量 - 类变量是定义在类中、方法外,且被static关键字定义的变量。
一个类中可以有任意个方法,方法也可以定义成不同的访问类型。上面的代码中,barking(),hungry()和sleeping()都是方法。
下面,我们来看一下Java类中比较重要的几个概念。