码迷,mamicode.com
首页 > Windows程序 > 详细

C#中的public protected internal private

时间:2016-03-19 14:15:12      阅读:297      评论:0      收藏:0      [点我收藏+]

标签:

1.常见的四种方位修饰符关系
下图中的protected internal是并集的关系,意思是在命名空间内是internal的,在命名空间外是protected的
技术分享
2.sealed final
sealed 修饰符可以应用于类、实例、方法和属性。这个是C#中用的
  1. 用于类时,该类被称为密封类,密封类不能被继承;
  2. 用于方法时,该方法被称为密封方法,密封方法会重写基类中的方法;sealed修饰符应用于方法或属性时,必须始终与override一起使用
  3. 结构是隐式密封的,因此它们不能被继承。

final修饰符来限定变量、字段、方法和类。这个是JAVA中用的

  1. 用于变量时,该变量只能赋值一次,不可修改;
  2. 用于方法时,该方法不能被重写或隐藏
  3. 用于类时,该类不能被继承。
  4. 接口的成员是不能使用该关键字的,道理和不能在abstract类使用final一样。

值得一提的是,如果使用final修饰类中的字段,那么该字段必须在构造函数中赋值,否则使用类实例调用的方式是无法对该字段进行赋值的,道理很简单,类在实例化时,会为每一个成员字段赋初值,之后你如果再通过实例方式调用该final字段,就属于二次赋值的情况了,这种情况是不允许的。在构造函数中为final变量赋值的方法叫做“延时赋值”(Java),相应的final变量叫做“空白final”(Java)。

Final并不是一个C#中的关键字,但经常在C#面试题中出现,例如说说“Final、Finally、finalize的区别”,其实这已经超出C#的范畴,这三个关键字分别考核了J#、.Net 容错方法、.Net垃圾收集机制,奇怪的是,每次我面试C#程序人员时,大部分人员对Final这个关键字并无陌生之感,相反却答得头头是道,看来来面试之前,早在网上有所预习,呵呵。


 




 

C#中的public protected internal private

标签:

原文地址:http://www.cnblogs.com/weloveshare/p/5294823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!