C#和Java访问修饰符的比较
访问修饰符
对于C#:
类 的默认修饰符是 internal(外部类只能被public / internal 修饰)
枚举 的默认修饰符是 public 且此类型不允许其它访问修饰符
接口 的默认修饰符是 internal 且此类型不允许其它访问修饰符,接口成员只能是public
委托 的默认修饰符是 internal
类中的成员可使用全部访问修饰符
protected internal :在程序集内部总是可访问,在程序集外部只能是子类中可访问
对于Java:
C#中的internal其实就对应于Java中的default,java中的protected就对应于C#中的protected internal
所有的地方,默认修饰符是 default(什么都不写),表示同一个包中可见(外部类只能用public修饰,或者不写(即default))

- public 一个类中,同一包中,子类中,不同包中
- protected 一个类中,同一包中,子类中
- default 一个类中,同一包中
- private 一个类中
一.(修饰类成员)类成员
- 成员使用private修饰只在本类中使用。
- 如果一个成员没有使用任何修饰符,就是default,该成员可以被包中的其
- 他类访问。
- protected成员被protected修饰可以被包中其他类访问,并且位于不同
- 包中的子类也可以访问。
- public修饰的成员可以被所有类访问。
二. (修饰类)类
- 类只有两种public和默认(成员内部类可以使用private))
- 父类不可以是private和protected,否则子类无法继承
- public类可以被所有类访问
- 默认类只能被同一个包中的类访问
更详细的资料可以参考:
http://www.cnblogs.com/snowdrop/articles/2143194.html
C#和Java访问修饰符的比较的更多相关文章
- java访问修饰符
了解面向对象思想的同学们,都知道"封装"这一基本特征,如何正确运用访问修饰符,恰恰能体现出封装的好坏. java访问修饰符有四个: 1)public:访问权限最高,其修饰的类.类变 ...
- C#和JAVA 访问修饰符
JAVA ----------------------------------------------- 访问修饰符 描述 ------------------------------- ...
- 详解java访问修饰符
详解java访问修饰符 为了防止初学者看到因为专业的术语而感觉晦涩难懂,我接下来尽量用生动比喻的说法来解释!首先第一点,我们来讲讲什么叫修饰符!看看这个名称,想想他的意思.修饰符!修饰符!,就是用来修 ...
- Java访问修饰符及其访问控制
java中的访问修饰符,可以看成是人的秘密分享级别.private 个人秘密 ,protected 家族秘密,default(不写修饰符)社区(邻居)秘密(在一个包下的能访问),public 社会秘密 ...
- Java访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...
- Java 访问修饰符总结
Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口. Java语言采用访问控制修饰符来封装类及类的方法和属性的访问权限,从而向使用者暴露接口.隐藏细节. Java访问控制分为 ...
- Java 访问修饰符详解
访问修饰符定义了类.属性和方法的访问权限,Java 中包含四种,访问权限从小到大为 private.default.protected 和 public. public,公共修饰符,被其修饰的类.属性 ...
- 《Java基础知识》Java访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: public class className { // body of class } private bo ...
- Java访问修饰符和三大特征(封装,继承和多态)
一.访问修饰符基本介绍: java提供四种访问控制修饰符号,用于控制方法和属性(成员变量)的访问权限(范围): 1.公开级别:用public修饰,对外公开2.受保护级别:用protected修饰,对子 ...
随机推荐
- 版本控制工具(上)——Git的基本使用
一.Git简介 git是什么? Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...
- springMVC补充——springMVC的表单标签
同其他标签一样,使用标签的第一步是进行标签库的导入(如果页面频繁导入比较多的标签库,应当专门建立导入标签库的页面,详见ztree的随笔) 导入标签库: <%@ taglib prefix=&qu ...
- 20155202 2016-2017-2 《Java程序设计》第10周学习总结
20155202 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 计算机网络基础 一.网络模型 模型分类: OSI,TCP/IP,五层协议的体系结构,以及各 ...
- 微信小程序标签页切换
WXML中: <view class="swiper-tab"> <view class="swiper-tab-list {{currentTab== ...
- m2eclipse安装遇到的问题——备忘
手贱把m2eclipse给卸载了,结果重新安装的时候,发现原来的网址不好用了,去官网查了发现改成了http://download.eclipse.org/technology/m2e/releases ...
- php S3调用SDK示例 AmazonS3
demo.php <?php /* * To change this license header, choose License Headers in Project Properties. ...
- Eclipse各个版本
Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会. Ec ...
- Linux的10个最危险的命令
Linux命令行佷有用.很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候. 这篇文章将会向你介绍十条命令,但你最好不要尝试着去使用. 当然,以下命令通常都是在root权限下才 ...
- 002 -- MySQL的逻辑架构
msql的逻辑架构图 第一层:主要功能是连接处理.授权认证.安全等.相当于JavaEE中的常说的Web层 第二层:包含了 ...
- Redis 指令
一个key可以存放将近40亿条数据 选择库 select 2 (代表选择第三个库) 增加key set db_number 11 删除key del key 获取值 get db_n ...