C# New关键字全解析:创建对象、构造函数与隐藏成员
需积分: 3 168 浏览量
更新于2024-11-01
收藏 31KB DOC 举报
C#中的"New"关键字是编程中非常关键的一部分,本文将详细介绍其几种主要用法。
首先,"new"运算符在C#中有多种用途。最常见的用途是用于对象的创建和构造函数的调用。当我们使用`Class_Name new ClassName()`的形式时,编译器会自动调用该类的默认构造函数来初始化新创建的对象。例如,`Class_TestMyClass = new Class_Test();`这里,new关键字确保了一个新的Class_Test对象实例被分配内存并进行初始化。
对于值类型(如基本数据类型或结构体),new运算符也可以用于调用它们的默认构造函数,为变量分配内存并设置默认值。例如,`int myInt = new int();`这行代码等价于`int myInt = 0;`,因为int类型的默认值就是0。
值得注意的是,尽管new运算符在很多场景下都很有用,但它是不可重载的,这意味着不能在类中定义多个具有相同签名的新运算符。此外,如果new运算符分配内存失败,程序会抛出`OutOfMemoryException`异常。
另一种与new相关的特性是new修饰符,它可以用来隐藏基类的成员。当我们在派生类中声明一个与基类同名的成员,并使用new关键字,例如`public class MyDerivedC : MyClass { new public void Invoke() {} }`,这时派生类的Invoke方法将覆盖基类的Invoke方法,但不会影响基类的其他成员,除非它们也被new修饰并重写。
然而,new修饰符不能同时用于重写和隐藏,也不能用来隐藏字段,除非采用完全限定名或其他方式访问基类的隐藏成员。如果在不打算隐藏继承成员的声明中使用new,编译器会发出警告。例如,在类MyBaseC的嵌套类MyClass中,可以使用new关键字来消除关于隐藏基类成员的警告。
C#中的new关键字不仅是对象创建的关键,还涉及到构造函数的调用和成员隐藏的控制,了解并熟练运用这些特性对于编写高效、清晰的C#代码至关重要。
2010-09-07 上传
2021-01-21 上传
2023-07-05 上传
2020-12-26 上传
2020-09-04 上传
2020-10-28 上传
2008-12-16 上传
点击了解资源详情
点击了解资源详情
mbmao
- 粉丝: 7
- 资源: 52
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析