Chapter6_访问权限控制_类的访问权限

在Java中,访问权限修饰词也可以用于确定库中的哪些类对于该库的使用者是可用的,类既不可以是private也不可以是protected的,对于类的访问权限,只有两种选择:包访问权限或者public。下面是一个例子:

 1 class soup1{
 2     private soup1(){}
 3     public static soup1 makesoup(){
 4         return new soup1();
 5     }
 6 }
 7
 8 class soup2{
 9     private soup2(){}
10     private static soup2 ps1 = new soup2();
11     public static soup2 access(){
12         return ps1;
13     }
14     public void f(){}
15 }
16
17 public class lunch {
18     void testPrivate(){
19         //soup1 s = new soup1();
20     }
21     void testStatic(){
22         soup1 s = soup1.makesoup();
23     }
24     void testSingleton(){
25         soup2.access().f();
26     }
27 }

  由于在Java中,如果没有编写构造器,编译器会帮你创建一个,而如果我们编写了自己默认的构造器,那么不会自动创建,所以可以像上面一样,通过将构造器指定为private的来阻止直接创建这个类的实例。除此之外,上面的例子还给出了两种选择,别人要如何使用这个类呢?在soup1中,创建一个static方法,会返回一个引用,并且可以对引用的数目进行计数。在soup2中,使用到了单例的模式,因为使用者始终只能创建一个soup2对象。

  对于soup1和soup2,如果没能为类访问权限提供一个修饰符,那么就会默认得到包访问权限,这意味着包外的类无法使用这个类,但是可以调用这个类static域的成员,如果这个成员是public的话。

时间: 2024-12-26 17:28:33

Chapter6_访问权限控制_类的访问权限的相关文章

Chapter6_访问权限控制_访问权限修饰词

Java中有四种访问权限,public,private,protected和包访问权限,它们是置于类中每一个成员之前的定义,无论是一个域还是一个方法,下面一一介绍. 一.包访问权限 如果不提供任何访问权限修饰词,这意味着是包访问权限.即当前包中的所有其他类对那个包访问权限的成员都有访问权限,但对于这个包之外的所有类,这个类是private的,所以处于一个编译单元中的所有类之间,都是可以互相访问的.包访问权限允许将包内所有的类组合起来,以便于它们之间可以轻松地相互访问.总的来说,取得对某成员的访问

**[权限控制] 利用CI钩子实现权限认证

http://codeigniter.org.cn/forums/thread-10877-1-1.html 一直没找到CI的权限认证扩展,以前好像找到过一个老外的扩展,不过不怎么好用,现在记不清了,后来仿着jsp firter的方式用CI钩子写了一下,感觉还可以,做个小网站,小应用足够了,没必要搞得太复杂.看到很多人在网上问,这里把我们的方法分享一下,如果你有更好的实现,也请记得分享给我们.^_^ 通常我们后台路径看起来都会像下面这样: http://www.php-chongqing.com

权限控制-JS判断是否有权限进行操作跳转页面需要加target

妈蛋的,这问题花了我20分钟,我用来搜索代码花了18分钟,我写代码有个差生的习惯,就是抄,啥东西想做,就上网搜别人杂写,拿下来照抄改一下即可 啧啧,妈蛋的,整个一页,没有我能用到的信息,那些博客内容一毛一样的人,你们难道不动脑子吗,难道是靠凑字数领钱的吗!最恨这种人,你搬可以,但不能不用一下就随便搬.瞅瞅收录的第一页全TM是没用的信息 最后花了2分钟我仔细想了一下,自己搞定了. 方法有很多,也许很low,但确实满足需求了 jsp:  <%        String username =(Str

Java成员的访问权限控制

Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以是public,protected, package private(无修饰符), or private. 以下表格总结了类成员中不同访问权限控制修饰符对应的访问级别:

Java访问权限控制

访问权限控制   java提供了访问权限修饰词,以供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的等级,从最大权限到最小权限依次是:public.protected.包访问权限(没有关键字).private. 包:库单元 包内有一组类,它们在单一名字空间之下被组织在了一起.如果你向导入某个标准库中的类的话,可以使用import关键字.我们之所以要导入,就是要提供一个管理名字空间的机制.所有类成员的名称都是彼此分离的.所以具有相同方法的不同类在程序运行时不会出现错误的.

浅析Java中的访问权限控制

浅析Java中的访问权限控制 今天我们来一起了解一下Java语言中的访问权限控制.在讨论访问权限控制之前,先来讨论一下为何需要访问权限控制.考虑两个场景: 场景1:工程师A编写了一个类ClassA,但是工程师A并不希望ClassA被该应用中其他所用的类都访问到,那么该如何处理? 场景2:如果工程师A编写了一个类ClassA,其中有两个方法fun1.fun2,工程师只想让fun1对外可见,也就是说,如果别的工程师来调用ClassA,只可以调用方法fun1,那么该怎么处理? 此时,访问权限控制便可以

Java之路(五) 访问权限控制

在Java中,所有事物都具有某种形式的访问权限控制. 访问权限的控制等级从最大到最小依次为:public,protected,包访问权限(无关键词)和private. public,protected和private这几个Java访问权限修饰词在使用时,是置于类中每个成员(域或者方法)定义之前的. 一.类成员的访问权限 取得对某成员的访问权的唯一途径是: 1).使该成员成为public.无论谁在哪里,都可以访问该成员: 2).通过不加访问权限的修饰词并将其他类放置于同一包内的方式给成员赋予包访问

Thinking In Java笔记(第六章 访问权限控制)

第六章 访问权限控制 简介 Java提供了访问权限修饰词,供类库开发人员向客户端程序员指明哪些是可用的,哪些是不可用的.访问权限控制的等级,从最大权限到最小权限一次为:public.protected.包(library)访问权限(没有关键词)以及private. 6.1 包(library):库单元 包内含有一组类,它们在单一的名字控件之下被组织在一起.例如,在Java的标准发布中有一个工具库,它被组织在java.util名字空间之下.java.util中有一个叫ArrayList的类,使用A

Java 访问权限修饰符 与 非访问权限修饰符

分类 Java语言提供了很多修饰符,大概分为两类: 1. 访问权限修饰符 2. 非访问权限修饰符 访问权限修饰符 public:共有访问.对所有的类都可见. protected:保护型访问.对同一个包可见,对不同的包的子类可见. default:默认访问权限.只对同一个包可见,注意对不同的包的子类不可见. private:私有访问.只对同一个类可见,其余都不见. 非访问权限修饰符 static 修饰符,用来创建类方法和类变量. final 修饰符,用来修饰类.方法和变量,final 修饰的类不能