Java编程思想之六-访问权限控制
- 访问控制(或隐藏具体实现)与“最初的实现并不恰当”有关,访问权限机制解决的问题是:如何把变动的事物与保持不变的事物区分开来。
- 为了解决类库的开发者有权限对类库进行修改和改进并且能够确保客户代码不会因为这些改动而受到影响,Java提供了权限修饰符,权限由大到小依次为:public, protected, default和private。
- 类库设计员会尽可能将一切方法都定为private,而仅向客户端程序员公开他所愿意让他们使用的方法,这样的做法完全正确,但是对于那些经常使用别的语言编程并在访问事物时不受任何限制的人而言,这就于他们的直觉相违背。
- Java用关键字package来控制谁有权来取用该类库构件,访问权限修饰词也会因类是否存在于一个相同的包中而受到影响。
- Java.util中有一个叫做ArrayList的类,使用ArrayList的一种方式是用其全名java.util.ArrayList来指定。
- 当编译一个.java文件时,在.java文件中的每个类都会有一个输出文件,输出文件的名称与.java文件中每个类的名称相同,只是多了一个后缀名.class,Java可运行程序是一组可以打包并压缩为一个Java文档文件(JAR,使用Java的jar文档生成器)的.class文件。
- 包访问权限允许将包内所有相关的类组合起来,以使它们彼此之间可以轻松地相互作用,把类放在同一个包内时,也就给它们赋予了互相访问的权限。
- Public:接口访问权限,使用public关键字,意味着public之后紧跟着的成员声明自己对每个人都是可用的,尤其是使用类库的客户程序员更是如此。
- Private:你无法访问,关键字private的意思是,除了包含该成员的类之外,其他任何类都无法访问这个成员,处在同一个包内的其他类不可以访问private成员。
- Protected:继承访问权限,关键字protected处理的是继承的概念,也就是说protected修饰的类可以被同包其他类访问,也可以被不同包但是其子类的类访问。
- 访问权限的控制常被称为是具体实现的隐藏,把数据和方法包装进类中,以及具体实现的隐藏,常共同被称作是封装,其结果是一个同时带有特征和行为的数据类型。
- 访问权限控制将权限的边界划在了数据类型的内部,是要设定客户断程序员可以使用和不可以使用的界限,可以在结构中建立自己的内部机制,而不必担心客户断程序员会偶然地将内部机制当作是他们可以使用的接口的一部分。
- 访问权限控制将权限的边界划在了数据类型的内部,也是将接口和具体实现相分离,如果结构是用于一组程序之中,而客户端程序员除了可以向接口发送信息之外什么也不可以做的话,那么就可以随意更改所有不是public的东西,而不会破坏客户端代码。
- 每个编译单元(文件)都只能有一个public类,这说明每个编译单元都有单一的公共接口,用public类来实现,该接口可以按要求包含众多的支持包访问权限的类,如果在某个编译单元含有一个以上的public类,编译器就会给出出错信息。
- Public类的名称必须完全与含有该编译单元的文件名相匹配,包括大小写。
- 编译单元内完全不带public类也是可能的,再这种情况下,可以随意对文件命名。
- 采用单例(singleton)模式类,意味着该类有且仅能创建一个对象。
相关推荐
Java编程思想中的访问权限控制是Java语言中一个关键的概念,它涉及到类和对象的封装,是保证代码稳定性和安全性的基础。访问权限控制的主要目的是在重构代码时,确保对外提供的接口不会改变,同时保护内部实现的细节...
本笔记涵盖了Java编程思想的多个方面,包括访问权限控制、封装、继承、多态、接口、内部类、持有对象等。 访问权限控制 访问权限控制是为了把变动的事物与保持不变的事物区分开来。Java中有四种访问权限修饰词:...
**实现**:在Java中,通过访问修饰符如`private`、`protected`和`public`来控制类成员的访问权限。一般情况下,类的属性会被设置为`private`,而方法则通常为`public`。 **示例**: ```java public class Person { ...
《Java面向对象编程思想》是孙卫琴老师的一本经典教程,主要针对Java语言的核心特性——面向对象编程进行深入解析。这本书的第二版本基于2017年的最新技术和最佳实践进行了更新,旨在帮助读者掌握Java编程的核心技巧...
在Java中,通过访问修饰符(public, private, protected)来控制成员的访问权限。 3. **继承**:继承允许一个类(子类)从另一个类(父类)中获取属性和行为,从而实现代码复用和扩展。Java只支持单继承,但可以...
- **类的设计原则**:介绍如何合理设计类的属性和方法,以及如何控制成员的访问权限。 - **构造器**:解释构造器的作用和使用方法,以及无参构造器和有参构造器的区别。 - **对象的创建与使用**:演示如何通过构造器...
### JAVA编程思想之对象入门详解 #### 一、引言 在《JAVA编程思想之对象入门》这篇文章中,作者深入浅出地介绍了面向对象编程(OOP)的基本概念及其在Java中的应用。文章通过一系列生动的例子和实践指导,帮助读者...
《JAVA编程思想》是 Bruce Eckel 编著的一本经典Java编程教材,中文第三版更是深受广大Java开发者喜爱。这本书深入浅出地介绍了Java语言的核心概念和技术,为读者揭示了Java编程的精髓。 1. **Java语言基础**: - ...
《JAVA面向对象基础教程》是一本深入浅出的JAVA编程思想学习资源,适合初学者快速入门,也适合有经验的开发者进一步深化对JAVA面向对象编程的理解。本教程全面覆盖了JAVA语言的核心概念,旨在帮助读者掌握JAVA编程的...
在Java编程语言中,权限控制是一项至关重要的任务,特别是在开发大型企业级应用或者任何涉及到用户安全性的系统时。"java 权限控制 轻量版"可能指的是一个设计用于简化权限管理的轻量级框架或库。在这个场景下,我们...
### Java编程思想笔记知识点概述 #### 第 1 章 对象导论 在这一章节中,主要介绍了Java中的基本概念——对象。对象是面向对象编程的核心,它封装了数据和行为。本章首先解释了对象的概念,接着讨论了如何创建对象...
### Java编程思想之接口Java中实现多重继承 #### 一、引言 在面向对象编程中,多重继承一直是讨论的热点之一。C++等语言支持直接的多重继承,而Java则通过接口机制来实现类似的多重继承特性。本文将详细介绍如何在...
Java书籍有很多,包括《Java编程思想》、《Java核心技术》等多种书籍。 14. 数学题: 数学题包括数列、算术等多种题目。例如,数列6、10、18、32,问“?”是几?答案是64。 15. 逻辑题: 逻辑题包括包括鱼头长9...
《Java编程思想(第四版)》是一本深入探讨Java编程技术的经典著作,旨在帮助开发者克服程序开发中的复杂性。本书涵盖了从基础到高级的多个Java编程主题,包括对象导向编程的核心概念、类的设计与复用、多态性、异常...
权限控制在Java中通常是通过访问修饰符(`public`、`private`等)和安全管理器(SecurityManager)来实现的。反射虽然可以绕过一些静态访问控制,但滥用可能会导致安全漏洞,因此在使用反射进行敏感操作时,应特别...
Java编程思想是软件开发中的核心概念,它涵盖了多种技术和实践,旨在提高代码的效率、可维护性和可扩展性。以下是对这些关键知识点的详细解释: 1. **操作符**:Java支持各种运算符,如算术(+,-,*,/,%),关系...
- **修饰符**: 如 `public` 表示公共访问权限,`static` 表示静态成员。 **1.2 类的声明与使用** - **声明**: `Body mercury;` 这行代码声明了一个名为 `mercury` 的 `Body` 类型的对象引用,但并未创建实际的对象...
在Java编程领域,设计模式是一种解决常见问题的模板或最佳实践,它被广泛应用于软件设计中,以提高代码的可读性、可维护性和可扩展性。代理模式是设计模式中的一种,它允许我们在不修改原有对象的基础上,在其外部...