C# public、protected、private

news/2024/7/5 19:23:37

每个类都创造了有自己的名字空间,指方法和变量可以知道彼此的存在,可以使用。 
public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用; 
变量和方法的修饰字public、protected、private: 
public:任何其他类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。

protected变量和方法: 
如果一个类中变量或方法有修饰字protected,同一类、同一包可以使用。不同包的类要使用,必须是该类的子类,可以存取变量或调用。

同包的类

不同包但是是子类

private不允许任何其他类存取和调用;
当子类中的变量名与父类的相同,原来的变量被遮盖。 
方法的覆盖(overriding)和重载(overloading)。子孙类中定义的方法和祖先类中某个方法同名、同参数行,则祖先类中的该方法被覆盖;方法的重载是指一个对象的多态性,即多个方法用相同的名称,但参数行不同。 
final: 
final在方法之前,防止该方法被覆盖; 
final在类之前,标是该类不能被继承; 
final在变量之前,定义一个常量。 
static: 
在变量或方法之前,表明它们是属于类的; 
静态变量在各实例间共享,如果是public静态变量,则其它类可以不通过实例化访问它们; 
静态方法称为类的方法,因此不用实例化即可调用(面向过程) 
一个对象的方法可以访问对象的数据成员,尽管不属于方法的局部变量;一个类的方法只能访问自己的局部变量。 
例:不正确的引用 
class StaticError{ 
String mystring="hello"; 
public static void main(String args[]){ 
System.out.println(mystring);} 

错误信息:can’t make a static reference to nonstatic variable. 
为什么不正确?只有对象的方法可以访问对象的变量。 
解决的办法: 
1) 将变量改称类变量 
class StaticError{ 
static String mystring="hello"; 
public static void main(String args[]){ 
System.out.println(mystring);} 

2) 先创建一个类的实例 
class NoStaticError{ 
public static void main(String args[]){ 
String mystring="hello"; 
System.out.println(mystring);} 

}

 

 

 经常在写程序时,遇到这些最基本的问题,特记录在此,以便于将来铭记!

  public   可以被外部成员调用   
  internal   可以在当前项目调用   
  protected   只能在被类的成员和该类的子类调用   
  private   只能在被类的成员调用
  不写时限定符时,默认为default

http://www.niftyadmin.cn/n/1408231.html

相关文章

聊一聊 Spring 中的线程安全性

http://www.importnew.com/27440.html

MyBaties分页插件PageHelper的简单使用

2019独角兽企业重金招聘Python工程师标准>>> 抛出问题: 如果想要将现有的select语句改为支持分页功能的查询语句该怎么做呢? 最简单的一种做法就是将所有的select语句都加上limit来实现分页,这种做法有什么问题呢? 有没…

ArcGIS API for Silverlight部署本地地图服务

ArcGIS API for Silverlight部署本地地图服务 首先介绍下我们的开发和部署环境: 部署环境: Windows 7 旗舰版32位操作系统 IIS 6.0 开发环境: Visual Studio 2010 Visual Studio 2010 SP1 Siverlight 4 Net Framework 4 第一步&…

记录一下题目

第一次 1.Object有哪些成员变量 2.equal和""区别 3.介绍一下ThreadLocal 4,TCP/IP 三次握手、backLog、流量控制、拥塞控制 5.Spring的IOC和AOP,动态代理,IOC解决了什么问题 6. JVM有哪些垃圾回收算法 7.CMS四个阶段 8.CMS哪些阶段是…

ArcGIS API FOR Silverlight资源

http://resources.esri.com/arcgisserver/apis/silverlight/ ArcGIS Silverlight API v1.2帮助页面,包含了大量的示例代码,开发帮助及对象库介绍 http://resources.arcgis.com/content/arcgis-api-silverlightwpf ArcGIS Silverlight API v2.0的帮助页面…

拦截器、过滤器、监听器各有什么作用?

这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能,本篇分享的是: 【拦截器、过滤器、监听器各有什么作用&#xff1…

ArcGisService-GIS服务器安装后配置教程

资源与服务对应表GIS 资源GIS 服务Map document 地图文档Map servicesRaster dataset 影像数据Image servicesGlobe documentGlobe servicesAddress locator 地理编码Geocoding servicesArcGIS ToolboxGeoprocessing servicesGeodatabaseGeodata service 三步简单的WEB GIS步骤…

curl https://consul.rocks/v1/kv/my-key

curl https://consul.rocks/v1/kv/my-key