对象与类
面向对象(oop)
面向对象程序设计(oop)是当今主流的程序设计模式。Java是完全面向对象的,必须熟悉oop才能够编写java程序。
面向对象的程序是对象组成的,每个对象包含对用户的公开特定功能部分和隐藏的实现部分。在oop中,不关心对象的具体实现,只要能够满足用户的需求即可。
类
类(class)是构造的对象的模块或蓝图,由类构造(construct)对象的过程称为创建类的实例。
用Java编写所有代码都在某个类的内部。
对象与对象变量
要想使用对象,就必须首先构造对象,并指定其初始状态。使用**构造器(constructor)**构造对象。构造器是一种特殊的方法,用来构造并初始化一个对象。
Date birthday = new Date();//使用构造器创建一个Date对象。
TIps:一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。
构造器
- 构造器与类名相同
- 每个类可以由一个以上的构造器
- 构造器可以有0,1,或多个参数
- 构造器没有返回值
- 构造器总是伴随着new操作一起调用
无参构造器
private String name;
private double salary;
private LocalDate hireDay;
//无参构造器
public Employee() {
name ="";
salary = 0;
hireDay=LocalDate.now();
}
说明:
如果在编写一个类时没有编写构造器,那么系统会提供一个无参构造器。这个构造器将所有的成员变量设置位默认值,数值型为0,布尔型为false,所有引用类型为null。
如果在类中至少提供了一个构造器,但是没有提供无参构造器,则在构造对象时如果没有提供参数就会被视为不合法。
调用构造器的具体处理步骤:
- 所有数据域被初始化为默认值
- 按照在类中声明中出现的次序,依次执行所有初始化语句和初始化块
- 如果构造器第一行调用了第二个构造器,则执行第二个构造器
- 执行这个构造器的主题
有初始化语句和初始化块
3. 如果构造器第一行调用了第二个构造器,则执行第二个构造器
4. 执行这个构造器的主题