java学习(六)-对象与类(一)——面向对象程序设计概述、用户自定义类

面向对象程序设计概述

面向对象程序设计,简称OOP。

在类之间,最常见的关系有:

  • 依赖("uses-a"):类A的方法操纵类B的对象。
  • 聚合("has-a"):类A的对象包含类B的对象。
  • 继承("is-a"):用于表示特殊与一般关系。

很多程序员采用UML(Unified Modeling Language,统一建模语言)绘制类图,用来描述类之间的关系。类用矩形表示,类之间的关系用带有各种修饰的箭头表示。

用户自定义类

不要编写返回引用可变对象的访问器方法,这样可能导致封装的破坏。例如:

class Employee{
private Date hireDay;
public Date getHireDay(){
return hireDay;
}

Employee harry = ...
Date d = harry.getHireDay();

这样,对d调用更改器方法就可以自动地改变这个雇员对象的私有状态。

final实例域

将实例域定义为final,则必须确保在每一个构造器执行后,这个域的值被设置,并且在后面的操作中,不能够对其再进行修改。

final修饰符大多应用于基本类型域或不可变类的域(如果类中的每个方法都不会改变其对象,则为不可变的类,如String类)。而对于可变的类,使用final修饰符仅表示存储在某变量中的对象引用在对象构造后不能被改变,而并不意味着该变量是个常量。任何方法都可以对该变量引用的对象调用更改器。

静态域和静态方法

用static修饰符。建议使用类名,而不是对象来调用静态方法。

在下面两种情况下使用静态方法:

  • 一个方法不需要访问对象状态,其所需参数都是通过显式参数提供。
  • 一个方法只需要访问类的静态域。

你可能感兴趣的:(java学习(六)-对象与类(一)——面向对象程序设计概述、用户自定义类)