美文网首页
Effective Java-类和接口

Effective Java-类和接口

作者: 勇往直前888 | 来源:发表于2019-01-28 18:07 被阅读14次

使类和成员的可访问性最小化

  • 尽可能地使每个类或者成员不被外界访问

  • 除了公有静态final域的特殊情况之外,公有类都不应该包含公有域。并且要确保公有静态final域所引用的对象都是不可变的。

在公有类中使用访问方法而非公有域

如果类在它所在的包的外部进行访问,就提供访问方法,以保留将来改变该类的内部表示法的灵活性。

使可变性最小化

  1. 不要提供任何会修改对象状态的方法。(可以返回一个新对象)

  2. 保证类不会被扩展

  3. 使所有域都是final的

  4. 使所有的域都成为私有的

  5. 确保对于任何可变组件的互斥访问

复合优先于继承

要么为继承而设计,并提供文档说明,要么就禁止继承

  • 为了允许继承,构造器,clone,readObject等,都不能调用可被覆盖的方法

接口优于抽象类

  • 现有的类可以很容易被更新,以实现新的接口

  • 接口定义是mixin的理想选择

  • 接口允许我们构造非层次接口的类型框架

接口只用于定义类型

  • 常量接口模式是对接口的不良使用

  • 接口应该只被用来定义类型,它们不应该被用来导出常量

类层次优于标签类

  • 标签类过于冗长、容易出错,并且效率低下

  • 标签类正是类层次的一种简单仿效。

  • 可以通过抽象类和子类的继承方式替代标签类。

用函数对象表示策略

优先考虑静态成员类

  • 如果声明成员类不要求访问外围实例,就要始终把static修饰符放在它的声明中,使它成为静态成员类。

  • 私有静态成员类的一种常见用法是用来代表外围类所代表的对象的组件。

相关文章

  • Effective Java-类和接口

    本部分内容用来指导程序员怎样才能设计出更加有用、健壮、灵活的类和接口。内容导图如下: 1.使类和成员的可访问性最小...

  • Effective Java-类和接口

    使类和成员的可访问性最小化 尽可能地使每个类或者成员不被外界访问 除了公有静态final域的特殊情况之外,公有类都...

  • Java基础

    JAVA开发六大原则 抽象类和接口的对比 如何去设计类和接口(Effective Java) 1、使类和成员的可访...

  • Effective Java——类和接口

    本系列文章是总结Effective Java文章中我认为最重点的内容,给很多没时间看书的朋友以最短的时间看到这本书...

  • Hello Java

    目录 Java-基础(1/6) Java-对象(2/6) Java-核心库类 上(3/6) Java-核心库类下(...

  • Java-浅析Object类

    Java-浅析Object类 ++2016.7.19++byside @Java-浅析Object类 ======...

  • Effective Java Note(类和接口)

    类和接口 一、使类和成员的可访问性最小化 首先我们要了解一个 软件设计基本原则:封装 模块隐藏所有的实现细节,只通...

  • Effective Java(三) 类和接口

    类和接口 Tip-13 使类和成员的可访问性最小化 尽可能地使每个类或者成员不被外界访问 注意:长度非0的数组总是...

  • JAVA-线程-一-执行器Executor

    2. JAVA-线程-二-ExecutorService 接口 3. JAVA-线程-三-AbstractExec...

  • Java- 抽象类和接口

    抽象类和常规类一样,都有数据和方法,但是不能用new操作符创建抽象类的实例。 非抽象类中不能包含抽象方法,如果抽象...

网友评论

      本文标题:Effective Java-类和接口

      本文链接:https://www.haomeiwen.com/subject/gfnajqtx.html