Java中的权限管理

java中有四个权限,分别为private,protected,default,public,不写即为default,每个权限分别为如下表格:

private default protected public
本类可访问
本包非本类可访问
非本包的子类可访问
非本包的类

另外类成员的权限不得大于类的权限,如果大于,以类的权限为准。即如下的一个类:

class Test{
    public int i=0;
    public void fun()
    {
        System.out.println(i);
    }
}

则类成员i和fun虽然定义的权限为public,但是由于类的权限为default,所以i,fun的权限仍为default。

通过对象访问类成员时,也要遵守权限,如下:

class Test{
    public static void main(String[] args){
        Myclass a=new Myclass();
        a.fun1();//错误,因为fun1的权限为private
        a.fun2();
        System.out.println(a.i1);//错误,因为i1的权限为private
        System.out.println(a.i2);
    }
}
class Myclass{
    private int i1=0;
    int i2=0;
    private void fun1()
    {
        System.out.println("fun1()");
     }
     void fun2()
     {
         System.out.println("fun2()");
      }
}
时间: 2024-11-06 21:07:33

Java中的权限管理的相关文章

数据库中的grant权限赋予和系统中的权限管理是两码事。

数据库中的grant权限赋予和系统中的权限管理是两码事.grant一般是赋给个人的,对全部或单个数据库的增删改查等权限,不多说.权限管理系统 在数据库中建表,存角色,权限,不同的菜单,在java层面上写代码控制的.用filter或if等都能控制.参考资料:grant:http://www.cnblogs.com/Richardzhu/p/3318595.htmlhttp://blog.csdn.net/leshami/article/details/5688875http://7567567.b

Android中的权限管理(基于Permission ProtectionLevel)

1.什么是protectionlevel呢? 我们经常在AndroidManifest中使用权限,如果我们想让应用程序可以发短信,那么应该这样写: <uses-permission android:name="android.permission.SEND_SMS" /> 那么这个权限的定义是在哪里定义的呢?如下: frameworks/base/core/res/AndroidManifest.xml <permission android:name="a

Java中的会话管理——HttpServlet,Cookies,URL Rewriting(译)

参考谷歌翻译,关键字直接使用英文,原文地址:http://www.journaldev.com/1907/java-session-management-servlet-httpsession-url-rewriting Java Web应用程序中的会话管理(Session Management)是一个非常有趣的话题.Java Servlet中的会话通过不同的方式进行管理,例如Cookie,HttpSession API,URL重写等. 这是Java Web应用程序系列教程中的第三篇文章,您可能

【源码笔记】BlogEngine.Net 中的权限管理

BlogEngine.Net 是个功能点很全面的开源博客系统,容易安装和实现定制,开放接口支持TrackBack,可以定义主题配置数据源等等.可谓五脏俱全,这里先记录一下它基于Membership的权限管理(一般只说到角色就没了). Membership是.net2.0的时候就出来了,现在的最新版本是Identity(微软已经将这个Asp.net项目开源 https://github.com/aspnet/Identity ).权限管理就是处理用户.角色.和具体权限的关系.用户和角色是多对多的关

统一身份管理中的权限管理设计

关注嘉为科技,获取运维新知 权限集中管理是统一身份管理关注的主要内容之一,由于企业应用建设的自身历程不同,权限设计与实现也必然存在差异,针对集中权限管理的设计和实现带来了不小的挑战,本文根据多年的实践经验,就统一身份管理的集中权限管理的设计与实现给予设计建议. 一 问题背景 随着信息技术和网络技术的迅猛发展,企业内部的应用系统越来越多,为此,为减少用户访问的麻烦,提升访问的便利性和体验,众多企业采用了统一身份管理的方案来解决该问题. 就企业的统一身份管理,业界提出了相应的标准,即4A标准,分别是

java web简单权限管理设计

一套最基本的权限管理包括用户.角色.资源. 数据库设计 我的设计如下: 用户:user 角色:role 用户-角色:user_role 资源:resource(包括上级菜单.子菜单.按钮等资源) 角色-资源:role_resource 标准的权限管理系统设计为以上5张表. 注:用户.用户-角色我就不做说明了,这两个是很简单的两块,用户的crud,以及为用户分配角色(多对多的关系)稍微琢磨一下就清楚了,下面都是针对为角色分配权限的实现 后台实现 展示层采用ztree树 <%@ page conte

Java基础认知--权限管理

所谓“万变不离其宗”,“宗”即本,本质.不管如何错综变化只要抓住本质,就能拨开云雾.这句话反过来也可以这样说,只要摸透本质就可幻化无穷.上层建筑要想建的高建的漂亮,底层必须牢固可靠.所以打好底层能力是能爬的高的关键.这里我们不提智商,性格,思维模式,沟通表达啊这些底层,我们不说那些抽象宏观的东西,这里我们聚焦于一些具体的技术.学技术也一样,先弄懂本质基础,才能玩的溜.基础需要不断的巩固加强,此系列的文章我会写一些自己对Java的基础知识的理解认知. 此篇的主题为Java的权限管理. 首先一个事物

Android中的权限管理(基于uid gid gids setUid)

我们首先来说一下传统的Linux基于uid,gid的权限管理机制: 1.用户的uid gid gids: Ubuntu操作系统当前登陆的用户是jltxgcy,那么该用户的uid为jltxgcy,gid也是jltxgcy,那么gids怎么查看呢? 答案是使用命令:cat /etc/group | grep jltxgcy.如下图: 用户的gids的名字为adm,dialout,cdrom,plugdev,lpadmin,admin,sambashare.此本分请参考linux用户组./etc/gr

Java 中的线程管理概念梳理

在Java中,"线程"指java.lang.Thread类的一个实例以及线程的执行,主要使用的线程池是ThreadPoolExecutor以及ScheduledThreadPoolExecutor,要使用固定线程上限的线程池. 用synchronized 修饰静态方法时,表示任何两个不同线程的调用互斥:修饰成员函数时,表示同一对象的多线程方法调用互斥:当然了,synchronized 后的参数可以是任意对象.Synchronized保证了synchronized块中变量的可见性,而vo