On Java 8 读书笔记(一) 对象的概念

    技术2022-07-11  114

    第一章 对象的概念

    使用访问控制的原因有以下两点:

    让应用程序员不要触摸他们不应该触摸的部分。

    使类库的创建者(研发程序员)在不影响后者使用的情况下完善更新工具库。

    Java 有三个显式关键字来设置类中的访问权限:public(公开),private(私有)和protected(受保护)。这些访问修饰符决定了谁能使用它们修饰的方法、变量或类。

    public(公开)表示任何人都可以访问和使用该元素;

    private(私有)除了类本身和类内部的方法,外界无法直接访问该元素。

    protected(受保护)类似于 private,区别是子类可以访问 protected 的成员

    default(默认)default 被称为包访问,该权限下的资源可以被同一包中其他类的成员访问。

    组合(Composition)经常用来表示“拥有”关系(has-a relationship)。例如,“汽车拥有引擎”。

    聚合(Aggregation)动态的组合。

    组合表示组件不可拆分,同时存在,同时消亡。

    聚合表示在某些条件下能够进行拆分。

    多用组合,少用继承。

    子类会继承父类的所有成员,包括私有成员,只是被隐藏起来并且不可访问而已。

    父类对象接收的所有消息也能被子类对象接收(多态)。

    子类与父类是相同的类型。

    如果子类没有添加新的方法,可以用一个子类对象完全替代父类对象,这叫作**“纯粹替代”,也经常被称作"替代原则"。这种关系称为是一个(is-a)关系**

    如果子类添加了新的方法,新类型仍然可以替代基类,但是这种替代不完美,原因在于基类无法访问新添加的方法。这种关系称为像是一个(is-like-a)关系。

    把子类当成其基类来处理的过程叫做“向上转型”(upcasting)。

    面向对象的程序设计语言是通过“动态绑定”的方式来实现对象的多态性。

    所有的Java类都继承Object类。

    Processed: 0.012, SQL: 9