|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
程序逻辑上的组织方法(如名称空间,包等)可以和部署时的分发方法(如程序集,jar包等)不同,那么不同class间的相互访问权限应该在逻辑组织上限制还是物理分发上限制呢? Java 语言本身 采用了对逻辑组织方法进行限制,即你可以访问java.lang中的私有类而能够通过编译,只要你自己的代码也以java.lang为包名[我猜的,没试过] 运行时 采用了对物理分发方法进行限制,可能跟缺省的ClassLoader有关,即使你通过编译了,但部署时同一包名下的类分成了不同的jar包,那么对私有类的访问可能会出错[我猜的,没试过] .Net CLS 不知道,希望补充 C# 对物理分发方法即程序集进行限制,从语言到运行时都是如此 个人倾向于C#的权限控制,合理且灵活;Java中当逻辑和物理组织不同时,不是被迫把一个class别扭的挪到当前package,就是把它声明为public,而一旦声明为public,你就再也控制不了了 传统的访问控制已超出了语言本身的范围,属于平台特性了 返回类别: 教程 上一教程: 用Java编写的密码算法类 下一教程: 基于 J2EE 的企业应用系统 - 工具一览表 您可以阅读与"访问控制 : 语言和平台"相关的教程: · 编写自己的登录与访问控制模块 · Java入门笔记4_访问控制和包 · 用定制标签库和配置文件实现对JSP页面元素的访问控制 · Java语言语法-控制结构 · 基于APACHE 配置文件的WEB页面访问权限控制 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |