6.2.3 private: 你无法访问
关键字private的意思是,除了包含该成员的类之外,其他任何类都无法访问这个成员。由
于处于同一个包内的其他类是不可以访问private成员的,因此这等于说是自己隔离了自己。从
另一方面说,让许多人共同合作来创建一个包也是不大可能的.为此private就允许你随意改变
该成员,而不必考虑这样做是否会影响到包内其他的类。
 
默认的包访问权限通常已经提供了充足的隐藏措施.请记住,使用类的客户端程序员是无
法访问包访问权限成员的。这样做很好,因为默认访问权限是一种我们常用的权限,同时也是
一种在忘记添加任何访问权限控制时能够自动得到的权限.因此,通常考虑的是,哪些成员是
想要明确公开给客户端程序员使用的,从而将色们声明为public ,而在最初,你可能不会认为自
己经常会需要使用关键字private , 因为没有色,照样可以工作.然而,事实很快就会证明,对
private的使用是多么的重要,在多钱程环境下更是如此(正如将在第2 1章中看到的)。
此处有一个使用private的示例:
package com.cy.access;

class Sundae {
private Sundae() {}
static Sundae makeASundae() {
return new Sundae();
}
} public class IceCream {
public static void main(String[] args) {
//! Sundae x = new Sundae();
Sundae x = Sundae.makeASundae();
}
}
这是一个说明private终有其用武之地的示例: 可能想控制如何创建对象,并阻止别人直接
访问某个特定的构造器(或全部构造器).在上面的例子中,不能通过构造器来创建Sundae对象,
而必须调用makeASundae()方法来达到此目的 。
任何可以肯定只是该类的一个"助手"方法的方法,都可以把它指定为private,以确保不
会在包内的其他地方误用到它, 于是也就防止了你会去改变或删除这个方法。将方法指定为
private确保了你拥有这种选择权.
这对于类中的private域同样适用。除非必须公开底层实现细目(此种境况很少见) ,否则就
应该将所有的域指定为private . 然而,不能因为在类中某个对象的引用是private ,就认为其他
的对象无法拥有该对象的public 引用
 
 
6.2.4 protected: 继承访问权限
关键字protected处理的是继承的概念,通过继承可以利用一个现有类-我们将其称为基类,
然后将新成员添加到该现有类中而不必碰该现有类.还可以改变该类的现有成员的行为.
如果创建了一个新包,并自另一个包中继承类,那么唯一可以访问的成员就是源包的public
成员. (当然,如果在同一个包内执行继承工作,就可以操纵所有的拥有包访问权限的成员. )
有时,基类的创建者会希望有某个特定成员,把对它的访问权限赋予派生类而不是所有类.这
就需要protected来完成这一工作. protected也提供包访问权限,也就是说,相同包内的其他类
可以访问protected元素。
6.3 接口和实现
6.4类的访问权限

------------------

ThinkJava-访问权限控制的更多相关文章

  1. MongoDB 安全和访问权限控制

    MongoDB的访问控制能够有效保证数据库的安全,访问控制是指绑定Application监听的IP地址,设置监听端口,使用账户和密码登录 一,访问控制的参数 1,绑定IP地址 mongod 参数:-- ...

  2. (转)浅析Java中的访问权限控制

    原文地址: http://www.cnblogs.com/dolphin0520/p/3734915.html 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下 ...

  3. 使用nginx和iptables做访问权限控制(IP和MAC)

    之前配置的服务器,相当于对整个内网都是公开的 而且,除了可以通过80端口的nginx来间接访问各项服务,也可以绕过nginx,直接ip地址加端口访问对应服务 这是不对的啊,所以我们要做一些限制 因为只 ...

  4. [THINKING IN JAVA]访问权限控制

    6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...

  5. Java成员的访问权限控制

    Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...

  6. 浅析Java中的访问权限控制

    浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但 ...

  7. redis密码设置、访问权限控制等安全设置

    redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下. 1.比较安全的办法是采用绑定IP的方式来进行控制.  请在redis.conf文件找到如下配置 # If y ...

  8. JAVA访问权限控制[zhuan]

    Java的访问权限控制修饰符,从最大权限到最小权限依次是:public.protected.包访问权限(默认,没有关键字)和private.对于类的访问权限只能是:public和包访问权限(但内部类可 ...

  9. C++中public/protect/private三种访问权限控制

    一.成员访问权限控制 1.public (1)public成员变量可以被成员函数访问  [访问性] (2)public成员可以被实体对象访问  [访问性] (3)public成员可以成为子类成员  [ ...

  10. c/c++再学习:C++中public、protect、private的访问权限控制

    C++中public.protect.private的访问权限控制 访问权限 一个类的public成员变量.成员函数,可以通过类的成员函数.类的实例变量进行访问 一个类的protected成员变量.成 ...

随机推荐

  1. bzoj1621

    题解: 简单判断一下怎么分 如果分的话继续递归 代码: #include<bits/stdc++.h> using namespace std; int n,k; int js(int x ...

  2. 《Python》 基础数据类型补充和深浅copy

    一.基础数据类型的补充 元组: 如果元组中只有一个数据,且没有逗号,则该‘元组’数据类型与里面的数据类型一致 列表: 列表之间可加不可减,可跟数字相乘 l1=['wang','rui'] l2=['c ...

  3. juery 安全加固 集合

    来源 jquery升级坑 2  3  4  5  版本  相关源码分享 新建document    jquery ajax使用说明 最近在iteye的新闻中看到jQuery已经更新到了1.6.1. 和 ...

  4. 374. Guess Number Higher or Lower 简单的二分法运用

    We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to gues ...

  5. (转)2017年12月宋华教授携IBM中国研究院、猪八戒网、中航信托、33复杂美共同论道智慧供应链金融

    今年10月,国务院发布的<关于积极推进供应链创新与应用的指导意见>,不仅强调了发展服务型制造的重要性,同时也指出要积极稳妥发展供应链金融,推动供应链金融服务实体经济,鼓励商业银行.供应链核 ...

  6. TouchJSON的简单使用

    TouchJSON是OC转换JSON的一个第三方类库,使用简单.在GitHub上可以轻松获取:TouchJSON 以下是简单的事例演示从douban movie请求JSON数据并转为字典对象后对控件赋 ...

  7. [LeetCode&Python] Problem 884. Uncommon Words from Two Sentences

    We are given two sentences A and B.  (A sentence is a string of space separated words.  Each word co ...

  8. MyEclipse 2014 破解图文详细教程

    一.安装完成MyEclipse2014(适用于2013等版本)后,不要打开软件,下载破解附件包. 破解附件包下载地址:点我下载 二.解压破解文件压缩包,得到一下文件列表: 三.双击run.bat,即可 ...

  9. LOJ2537. 「PKUWC2018」Minimax【概率DP+线段树合并】

    LINK 思路 首先暴力\(n^2\)是很好想的,就是把当前节点概率按照权值大小做前缀和和后缀和然后对于每一个值直接在另一个子树里面算出贡献和就可以了,注意乘上选最大的概率是小于当前权值的部分,选最小 ...

  10. Codeforces 208A:Dubstep(字符串)

    题目链接:http://codeforces.com/problemset/problem/208/A 题意 给出一个字符串,将字符串中的WUB给删去,如果两个字母间有WUB,则这两个字母用空格隔开 ...