Java - 使可访问性最小化】的更多相关文章

模块设计是否良好,有个重要的因素在于,相对外部模块是否隐藏内部数据以及实现细节. 设计良好的模块会隐藏实现细节,并将API与其实现隔离开来. 模块之间通过API进行通信,对于内部工作情况互不可见. 即,封装(encapsulation)——软件设计的基本原则之一. 为什么要封装? 通过封装可以有效地接触各个模块之间的耦合关系,使这些模块可以独立地开发.测试.优化.使用.理解和修改. 即: 可以增加开发效率,模块可以并行开发. 封装可以减轻维护的负担,可以更有效的进行优化,且不会影响其他模块的正确…
类和接口 第13条 使类和成员的可访问性最小化 1.设计良好的模块会隐藏所有的实现细节,把它的API与实现清晰的隔离开来,模块之间只通过它们的API进行通信,一个模块不需要知道其他模块的内部工作情况:即信息隐藏或封装,是软件设计的基本原则之一. 2.Java提供了许多机制来协助信息隐藏.访问控制(access control)机制决定了类.接口和成员的可访问性(accessibility). 3.第一规则:尽可能地使每个类或者成员不被外界访问.或者说在保证功能的情况下,使用最小的访问级别. 4.…
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化. 在这里第一时间翻译成中文版.供大家学习分享之用. 类和接口是Java编程语言的核心.它们是抽象的基本单位.该语言提供了许多强大的元素,可以使用它们来设计类和接口.本章包含指导原则,帮助你充分利用这些元素,使你的类和接口是可…
1.为什么要使类和成员可访问性最小化 它可以有效地解除组成系统的各模块之间的耦合关系,使得这些模块可以独立的开发 测试 优化 使用 理解和修改.提高软件的可重用性 2.成员的访问级别 私有(private):只有在声明该成员的顶层类内部才可以访问这个成员 包级私有(package-private):声明该成员的包内部的任何类都可以访问这个成员(缺省访问级别) 受保护的(protected):声明该成员的类的子类可以访问该成员 公有的(public)在任何地方都可以访问该成员 3.类具有公有的静态…
本文参考 本篇文章参考自<Effective Java>第三版第十五条"Minimize the accessibility of classes and members" Access modifiers (private, package-private, protected and public) 访问修饰符 同类 同包 不同包子类 不同包非子类 private √       package-private(默认) √ √     protected √ √ √  …
尽可能地降低可访问性 接口和成员变量访问级别四种访问级别: 私有的(private) --- 只有在生命该成员的顶层类内部才可以访问 包级私有的(package-private) --- 缺省的"default"访问级别 声明该成员的包内部的任何类都可以访问这个成员 受保护的(protected) --- 该类的子类和包内部的任何类都可以访问该成员 共有的(public) --- 在任何地方都可以访问该成员 注: 1 . 方法覆盖超类的一个方法,访问的级别不允许低于超类中的访问级别 2…
要区别一个模块是否设计良好,最重要的因素是,对于其他模块而言该模块隐藏其内部数据和其他实现细节的程度.设计良好的模块应该隐藏所有实现细节,将API与其实现清晰地隔离开来.这样,模块之间通过他们的API进行通信,而不必知道其他模块的内部工作情况.这个概念被称为信息隐藏(information hiding)或封装(encapsulation),是软件涉及的基本原则之一. 信息隐藏之所以重要有许多原因,大多数原因都源于这样一个事实:它可以将组成系统的各个模块解耦,使得这些模块可以独立地开发.测试.优…
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化. 在这里第一时间翻译成中文版.供大家学习分享之用. 17. 最小化可变性 不可变类简单来说是它的实例不能被修改的类. 包含在每个实例中的所有信息在对象的生命周期中是固定的,因此不会观察到任何变化. Java平台类库包含许多不…
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所以JDK 最好下载 JDK 9以上的版本. 9. 通用编程 这一章专门讨论Java语言的具体细节.讨论了局部变量.控制结构.类库.数据类型以及两种Java语言之外工具:反射和本地方法.最后,讨论了优化和命名惯例. 57. 最小化局部变量的作用域 这条目在性质上类似于条目 15,即"最小化类和成员的可…
最大化最小的使得的函数是 ShowWindow函数 ShowWindow(SW_SHOWMINIMIZED);//最小化 ShowWindow(SW_SHOWMAXIMIZED);//最大化 ShowWindow(SW_RESTORE);//还原 ------- PostMessage(hwnd,WM_SYSCOMMAND,SC_MINIMIZE,); SC_MAXIMIZE为最大化. 使用方法: BOOL ShowWindow( int nCmdShow ); 参数 nCmdShow 指定 C…