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修饰符。建议使用类名,而不是对象来调用静态方法。

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

  • 一个方法不需要访问对象状态,其所需参数都是通过显式参数提供。
  • 一个方法只需要访问类的静态域。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,898评论 18 399
  • 4对象与类 面向对象程序设计 如何创建标准java类库中的类对象 如何编写自己的类 4.1概述 程序由对象构成,每...
    我快要上天啦阅读 3,584评论 0 0
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,848评论 6 13
  • 5继承 5.1 类、超类和子类 重用部分代码,并保留所有域。“is-a”关系,用extends表示。 已存在的类被...
    我快要上天啦阅读 4,274评论 1 3
  • keychain app官方链接 重要的事情说三遍 使用keychain group的时候,测试一定要使用真机! ...
    Rxiaobing阅读 8,481评论 1 5