重温经典《Thinking in java》第四版之第六章 访问权限控制(三十八)

简介: 重温经典《Thinking in java》第四版之第六章 访问权限控制(三十八)

“6.3 接口和实现”,访问权限的控制常被称为具体实现的隐藏。把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作封装。访问权限控制将权限的边界划在了数据类型的内部。第一个原因是要设定客户端程序员可以使用和不可以使用的界限;第二个原因是要让程序设计者将接口和具体实现进行分离。

这一部分提到了一个很好的编程方法,也是值得我们每一个程序员借鉴的,就是把public成员放在类的开头,下面跟着protected、包访问权限和private成员的创建类的形式。这样做可以让类的使用者更好的找到自己该用的和不该用的地方在哪里。

publicclassOrganizedByAccess { 
publicvoidpub1() { /* ... */ } 
publicvoidpub2() { /* ... */ } 
publicvoidpub3() { /* ... */ } 
privatevoidpriv1() { /* ... */ } 
privatevoidpriv2() { /* ... */ } 
privatevoidpriv3() { /* ... */ } 
privateinti; 
// ... }

上面的代码还包含了{/*...*/}实现的部分,那么下一步就是将这部分实现跟前面方法的定义分离,这就达到了接口和实现分离的效果。

“6.4 类的访问权限”,这一小节的权限控制从类的方法和属性上转移到了类上的控制,其实原理和作用都是一样的。这里有一些额外的限制:

1、每个编译单元(文件)都只能有一个public类,该文件中可以包含其他的非public的类

2、public类的名称必须完全与含有该编译单元的文件名相匹配,包括大小写。

请注意,类既不可以是private,也不可以是protected的,所以对于类的访问权限,仅有两个选择:包访问权限或public。

“6.5 总结”,到现在为止整个Java中的访问权限控制就结束了,无论是在什么样的关系之中,设立一些为各成员遵守的界限始终是很重要的。当创建了一个类库,也就与该类库的用户建立了某种关系,这些用户就是客户端程序员,他们是另外的一些程序员,他们将你的类库聚合成为一个应用程序,或者运用你的类库来创建一个更大的类库。如果不指定规则,客户端程序员就可以对类的所有成员随心所欲。

目录
相关文章
|
14天前
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
30 3
|
16天前
|
SQL Java 数据库连接
打破瓶颈:利用Java连接池技术提升数据库访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,避免了频繁的连接建立和断开,显著提升了数据库访问效率。常见的连接池库包括HikariCP、C3P0和DBCP,它们提供了丰富的配置选项和强大的功能,帮助优化应用性能。
34 2
|
26天前
|
Java
Java访问外网图片地址时,如何添加代理?
【10月更文挑战第14天】Java访问外网图片地址时,如何添加代理?
22 2
|
1月前
|
小程序 Java
小程序访问java后台失败解决方案
小程序访问java后台失败解决方案
44 2
|
1月前
|
小程序 JavaScript Java
小程序访问java后台
小程序访问java后台
27 1
|
1月前
|
存储 Java
深入理解java对象的访问定位
这篇文章深入探讨了Java对象的访问定位机制,比较了使用句柄和直接指针两种主流的对象访问方式,并指出了它们各自的优势,例如句柄访问在对象移动时的稳定性和直接指针访问的速度优势。
32 0
深入理解java对象的访问定位
|
2月前
|
存储 Java 关系型数据库
java: 无法访问org.springframework.context.ConfigurableApplicationContext
`亲测可用,之前搜索了很多博客,啥样的都有,就是不介绍报错以及配置用处,根本不懂照抄那些配置是干啥的,稀里糊涂的按照博客搭完也跑不起来,因此记录这个。` `项目背景`:公司项目当前采用http协议+shiro+mysql的登录认证方式,而现在想支持ldap协议认证登录然后能够访问自己公司的项目网站。 `举例说明`:假设我们公司有自己的门户网站,现在我们收购了一家公司,他们数据库采用ldap存储用户数据,那么为了他们账户能登陆我们公司项目所以需要集成,而不是再把他们的账户重新在mysql再创建一遍,万一人家有1W个账户呢,不累死了且也不现实啊。
45 11
|
2月前
|
安全 Java 编译器
java访问字段
java访问字段
25 6
|
2月前
|
安全 Java 编译器
java访问类字段
java访问类字段
|
2月前
|
安全 Java 开发者
Java修饰符与封装:理解访问权限、行为控制与数据隐藏的重要性
Java中的修饰符和封装概念是构建健壯、易维护和扩展的Java应用程序的基石。通过合理利用访问权限修饰符和非访问修饰符,开发者能够设计出更加安全、灵活且高效的代码结构。封装不仅是面向对象编程的核心原则之一,也是提高软件项目质量和可维护性的关键策略。
18 1