当前位置:  编程技术>.net/c#/asp.net

.net(c#)中的new关键字详细介绍

    来源: 互联网  发布时间:2014-10-23

    本文导语:  1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。3)new 约束:用于在泛型声明中约束可能用作类型参数的参数...

1)new 运算符:用于创建对象和调用构造函数。这种大家都比较熟悉,没什么好说的了。
2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。
3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。

new关键字在我们的程序中可谓是无时不刻在用到,那么new关键字都可以用在哪些地方呢?考虑以下几个问题:

1、new一个class对象和new一个struct或者new一个enum有什么不同?

  答:new一个class时,new完成2个内容:一是调用newobj命令为实例在托管堆中分配内存,二是调用构造函数实现对象初始化。

  new一个struct时,new运算符用于调用其构造函数,完成实例的初始化。

2、new在.NET中除了创建对象实例外,还可以做什么?

  答:new关键字:作为运算符可以创建对象和调用构造函数;

  作为修饰符可以用于向基类成员隐藏继承成员,实现派生类中隐藏基类的virtual方法,不能和override共存;

  作为约束可以在泛型声明中约束可能用作类型参数的参数类型,即new约束指定泛型类声明中的任何类型参数都必须要有公共的无参构造函数;

  使用new关键字实现多态。

3、new运算符可以重载吗?

  答:new运算符不可以重载。

4、泛型中new关键字的作用?

  答:new运算符用于返回一个引用,指向系统分配的托管堆的内存地址,new分配内存失败,将引发OutOfMemoryException异常。

5、new一个继承下来的方法和override有什么区别?

  答:new是隐藏基类方法,override是覆写基类方法。如果要访问new隐藏了的基类成员需要使用base关键字实现。

6、int i和int i = new int()有什么不同?

  答:new一个int时,new运算符用于初始化其值为0,使构造函数完成更优越的初始化操作。


通过继承隐藏名称采用下列形式之一:

•引入类或结构中的常数、指定、属性或类型隐藏具有相同名称的所有基类成员。

•引入类或结构中的方法隐藏基类中具有相同名称的属性、字段和类型。 同时也隐藏具有相同签名的所有基类方法。

•引入类或结构中的索引器将隐藏具有相同名称的所有基类索引器。


    
 
 

您可能感兴趣的文章:

  • NET c#索引器(indexer)介绍及代码示例
  • C#.NET学习笔记5 C#中的条件编译
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • 用C#,asp.net 做的网站,能用Linux做服务器吗?
  • c#(asp.net)接收存储过程返回值的方法
  • C#难点逐个击破(6):C#数据类型与.net framework数据类型
  • docker中文入门学习手册 iis7站长之家
  • c#(asp.net)实现的文件下载函数
  • PowerShell 定时执行.Net(C#)程序的方法
  • asp.net(c#版)添加DataRow数据列到DataTable控件
  • c#(asp.net) new与override的区别
  • c#(asp.net)连接excel的实例代码
  • C# .net实现货币转换示例
  • 如何让C#、VB.NET实现复杂的二进制操作
  • asp.net(c#) 使用Rex正则来生成字符串数组的代码
  • c#数据绑定之向查询中添加参数(.Net连接外部数据库)
  • C# .NET自定义类实现伪静态页面的代码
  • C#利用ODP.net连接Oracle数据库的操作方法
  • 关于C# 5.0 CallerMemberName CallerFilePath CallerLineNumber 在.NET4中的使用介绍方法
  • C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)
  • c# asp .net 动态创建sql数据库表的方法
  • .NET中的async和await关键字使用及Task异步调用实例
  • 分享下页面关键字抓取www.icbase.com站点代码(带asp.net参数的)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.net类socketfactory的类成员方法: createsocket定义及介绍
  • .NET版的ExtJS库 Ext.Net
  • java命名空间java.net类datagramsocket的类成员方法: disconnect定义及介绍
  • node.js的.net扩展 node.net
  • java命名空间java.net类datagramsocket的类成员方法: close定义及介绍
  • 为什么输http://www.china-java.net,会自动改为http://www.china-java.net:8081?
  • java命名空间java.net接口cookiestore的类成员方法: get定义及介绍
  • 各位之不知道net-snmp是否收费?我的产品中用到了net-snmp lib是否需要向什么单位或者组织付费?
  • java命名空间java.net类socket的类成员方法: isbound定义及介绍
  • 【人才】有没有人会用VC6.0/VS2003.NET/VS2005.NET写WINDOWS下的驱动程序呀。
  • java命名空间java.net类datagrampacket的类成员方法: getsocketaddress定义及介绍
  • Java.NET or J#.NET is coming!
  • java命名空间java.net类multicastsocket的类成员方法: getinterface定义及介绍
  • make menuconfig时出错:net/Kconfig:221:can't open file "net/wireless/Kconfig"
  • java命名空间java.net枚举proxy.type的类成员方法: http定义及介绍
  • 用过net-snmp(ucd-snmp)的大侠用过net-snmp(ucd-snmp)请进(来者有分)
  • java命名空间java.net类urisyntaxexception的类成员方法: getreason定义及介绍
  • 常用.NET工具(包括.NET可再发行包2.0)下载
  • java命名空间java.net类datagramsocketimpl的类成员方法: getlocalport定义及介绍
  • Ja.Net
  • java命名空间java.net类httpretryexception的类成员方法: getreason定义及介绍
  • asp.net判断数据库表是否存在 asp.net修改表名的方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3