Java核心技术卷Ⅰ
2 对象和类
2.1 面向对象
2.1.1 类和对象
类(class)是构造对象的模板或蓝图,可以将类想象成制作小甜饼的模具,将对象想象成小甜饼;由类构造对象的过程称为创建类的实例。
2.1.2 对象与对象变量
想要适用对象变量,首先必须构造对象,并指定其初始状态,然后对对象应用方法。
在Java中要使用构造器(constructor/构造函数)构造新实例。
- 构造器与类同名
- 每个类可以有一个以上的构造器
- 构造器可以有0个1个或多个参数
- 构造器没有返回值
- 构造器总是伴随着new操作符一起调用
2.2 静态字段与静态方法
2.2.1 静态字段
如果将一个字段定义为static,每个类只有一个这样的字段,也被称为类字段。
class Employee {
private static int nextId = 1;
private int id;
}
每一个Employee对象都有一个自己的id字段,但这个类的所有实例都会共享一个nextId字段;
2.2.2 静态常量
public class Math {
public static final double PI = 3.14159265358979323846;
}
在程序中,可以使用Math.PI访问这个常量;
2.2.3 静态方法
静态方法不在对象上执行的方法,例如Math中的pow就是一个静态方法;调用方法时并不适用任何Math对象。
2.3 对象构造
2.3.1 重载与重写
重载(overload) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
最常用的地方就是构造器的重载。
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
2.3.2 默认字段初始化
如果在构造器(constructor)中没有显式地为字段设置初始值,那么就会被自动地赋为默认值。
2.3.3 无参构造器
很多类都包含一个无参构造器,由无参构造器创建对象时,对象的状态会设置为适当的默认值。