第四章 对象和类
(网络资料https://blog.csdn.net/world_snow/article/details/78831127)
对象:对象就是一个真实世界中的实体,对象与实体是一一对应关系的,意思就是现实世界的每一个实体都是一个对象,所以对象是一个具体的概念。
类: 具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象。
1.类构造( construct ) 对象的过程称为创建类的实例( instance )
2.封装 (encapsulation , 有时称为数据隐藏):将数据和行为组合在一个包中,对对象的使用者隐藏了数据的实现方式。实现封装的关键在于绝对不能让类中的方法直接地访问其他类的实 例域。
3.实例域 (instance field):对象中的数据
4.方法( method ):操纵数据的过程
5.对象的3个特征:
状态( state ):描述当前特征的信息。对象状态的改变必须通过调用方法实现(如果不经过方法调用就可以改变对象状态,只能说明封装性遭到了破坏)。
标识( identity ):用来唯一的表示对象
行为( behavior ):
6.怎么识別类:简单规则是在分析问题的过程中寻找名词,而方法对应着动词。
7.类之间的关系:
依赖( dependence ),即 “ uses - a ”关系:如果一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。
聚合( aggregation ),即 “ has - a ”关系:聚合关系意味着一个类的对象包含另一个类的对象。
继 承 ( inheritance ),即 “ is - a ”关系:
8.构造对象:构造并初始化对象使用一种叫做构造器( constructor)的特殊方法。构造器的名字应该与类名相同。
语法:类名称 变量名 = new 构造器名(); 该语法包含了3个动作:定义变量、构造对象、引用对象。
// 对象变量不等于对象,一个对象变量并没有实际包含一个对象,而仅仅通过初始化引用一个对象。变量引用一个已存在的对象后,才能使用类中的方法。
9.可以显式地将对象变量设置为 null , 表明这个对象变量目前没有引用任何对象。将一个方法应用于一个值为 null 的对象上会产生运行时错误。
10.Date(), LocalDate()类
11.自定义类:
// 关键字 public 意味着任何类的仟何方法都可以调用这些方法。
// 关键字 private 确保只有 Employee 类自身的方法能够访问这些实例域,而其他类的方法不能够读写这些域。
// 在一个源文件中,只能有一个公有类,但可以有任意数目的非公有类。这是因为文件名必须与 public 类的名字相匹配。