在 C# 中,new 关键字可用作运算符、修饰符或约束。
1)new 运算符:用于创建对象和调用构造函数。
2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。
3)new 约束:用于在泛型声明中约束可能用作类型参数的参数的类型。

下面来看一下第二种;

using System;public class Program: BaseClass{new public class Test    //new修饰符 显式隐藏从基类继承的成员{public int x = 2000;public int y = 4000;public int z = 40;}static void Main(string[] args){var c1 = new Test();var c2 = new BaseClass.Test();Console.WriteLine(c1.x);//2000Console.WriteLine(c1.y);//4000Console.WriteLine(c2.y);//200Console.ReadKey();}}public class BaseClass{public class Test{public int x = 100;public int y = 200;}   }

new的第二种用法如代码注释;

生成c1的时候显示隐藏了从基类继承的成员x、y;

生成c2的时候是从原来BaseClass类中的Test类来生成;

运行如下;

如把 new public class Test ,前面的new去掉,再构建则如下;

此程序使用了内部类;Test是BaseClass的内部类;

C# 使用new 关键字显式隐藏从基类继承的成员和内部类的使用相关推荐

  1. python中的序列类型数据结构元素的切片操作_PythonI/O进阶学习笔记_4.自定义序列类(序列基类继承关系/可切片对象/推导式)...

    前言: 本文代码基于python3 Content: 1.python中的序列类分类 2. python序列中abc基类继承关系 3. 由list的extend等方法来看序列类的一些特定方法 4. l ...

  2. java 序列化声明_显式声明默认Java类序列化方法的原因是什么?

    我定期看到具有以下结构的Java类: class MyClass implements Serializable { private static final long serialVersionUI ...

  3. C#的显式接口和隐式接口

    C#的显式接口和隐式接口 接口的实现分为:隐式实现和显式实现.如果类或者结构要实现的是单个接口,可以使用隐式实现,如果类或者结构继承了多个接口那么接口中相同名称成员就要显式实现.显示实现是通过使用接口 ...

  4. 构造函数调用默认构造函数_显式无参数构造函数与默认构造函数

    构造函数调用默认构造函数 大多数不熟悉Java的开发人员都会Swift了解到,如果他们没有指定至少一个显式构造函数,则会为Java类隐式创建一个" 默认构造函数 "( 由javac ...

  5. 显式无参数构造函数与默认构造函数

    大多数不熟悉Java的开发人员在没有指定至少一个显式构造函数的情况下 ,会很快了解到为其Java类隐式创建了" 默认构造函数 "( 由javac ). Java语言规范的 8.8. ...

  6. 基类显式继承接口,类继承基类时又继承同一接口,引发接口方法混乱(显式继承接口的弊端)...

    基类BaseOutput显式继承了一个接口IOutput,之后类TrackOutput继承BaseOutput,同时又继承了IOutput接口,假定IOutput有方法Output,这样在TrackO ...

  7. C++ 模板的显式具体化

    本文结合网上的资料对C++模板的显式具体化做了一个总结. 对于模板,模板中的语句(函数体或者类)不一定能适应所有的类型,可能会有个别的类型没有意义,或者会导致语法错误.我们希望模板能够针对某种具体的类 ...

  8. JavaScript类型转换之显式类型转换

    JavaScript中显式类型转换有六类,分别是Number(mix).parseInt(string).parseFloat(string).String(mix).toString().Boole ...

  9. c#实现显式的用户自定义类型转换(关键字explicit operator)

    /*  * Created by SharpDevelop.  * User: noo  * Date: 2009-9-1  * Time: 13:41  *   * 系统预定义的数据类型,如int, ...

最新文章

  1. SAP Spartacus 中,Angular <ng-container>使用的一个例子
  2. 热传递 matlab,利用matlab程序解决热传导问题
  3. Android 全屏抽屉fragment,NavigationView
  4. php订阅系统,php redis pub/sub(Publish/Subscribe,发布/订阅的信息系统)之基本使用
  5. vs怎么把文字超链接_「Excel技巧」Excel表格如何制作带超链接的导航目录
  6. vbox黑苹果10.6.5升级无法进入系统(解决)
  7. TFS源代码管理的8大注意事项
  8. K-Means优缺点
  9. 转载:Latex——在线快速生成表格代码
  10. 常用iOS的第三方框架
  11. 计算机打不开guest用户,Win10打不开guest账户怎么办?
  12. linux在gpt分区装系统,linux安装到GPT分区
  13. 用 CSS 实现 AirDrop 动效
  14. 基于长短期记忆神经网络的蛋白质二级结构预测
  15. 微信公众平台菜单编辑php,Vue.js实现微信公众号菜单编辑器步骤详解(上)
  16. Docker搭建个人网盘和私人仓库,创建Dockerfile制作镜像
  17. Android面试题集锦
  18. SQL Server 追踪Profiler,SQL Server的性能优化工具
  19. 台式计算机怕冻吗,笔记本怕热更怕冷,电脑冬季保养攻略
  20. 21届秋招电信云笔试[技术类B卷]

热门文章

  1. Opencv3.0+vs2015
  2. hive udf 分组取top1_Hive分组取Top K数据
  3. Java.util.Random 各种方法介绍
  4. 基于vue2实现省市联动
  5. 利用Phtoshop去掉图片中的线性渐变背景
  6. 10.2.1 关于vc++不支持把类的成员函数定义为类的友元函数的处理
  7. C++ Vector 使用总结
  8. 【VS+QT开发】获取本地网络信息小软件(C++)
  9. 随笔(2018.9.2.)
  10. xtrabackup备份mysql_配置xtrabackup备份mysql数据库