对象和类
面向对象程序设计(OOP),类是创建对象的模板或蓝图,从类中构造一个对象,即创建了这个类的一个实例(instance)。
面向对象中,封装(encapsulation)是把数据和行为结合在一个包中,并对对象的使用者隐藏数据的实现过程。
对象中的数据称为对象的实例字段(instance field),操作数据的函数和过程称为对象的方法(method)。实现封装的
关键在于决不让方法直接访问其他类的实例字段。程序应该只能通过对象的方法和对象的数据交互。OOP的另一个原则,
继承性(inheritance),使得很容易在java中编写自己的类.
对象
要使用OOP,需要了解对象的三个主要特性,分别是
对象的行为(behavior) 对象能做什么,或者说,能对对象施加什么方法
对象的状态(state) 对对象施加方法时,对象如何反应
对象的身份(identity) 对象如何与具有相同行为、状态的其他对象相互区别
类之间的关系
依赖("use-a") 在A类中的方法操作了B类对象,那么A类依赖于B类
聚合("has-a") A类对象包含B类对象,还包含C类对象等等,聚合关系意味着类A的对象包含类B的对象
继承("is-a") 继承关系用来表示更特殊的和更一般的类之间的关系
对象和对象变量
要使用对象,使用构造器(constructor)来构造新的实例。构造器是一个专门的方法,构造器名称和类名相同
因此Date类的构造器名为Date。要构造Date对象,只要在构造器前面加上new运算符就行了,如new Date()
这个表达式即构造了一个新的对象,通常我们需要把对象存储在一个变量中 Date birthday = new Date();
birthday是一个对象变量,对象变量(birthday)指向新构造的对象(new Date)。对象变量并不包含对象,
它只是指向一个对象。在java中,任何对象变量的值都是指向存储在别处的对象的一个引用。new 运算符的返回
值也是一个引用。