1
using
System;
2
using
System.Collections.Generic;
3
using
System.Text;
4
5
namespace
CSharpFoundationStudy
6
{
7
/**//*
8
* 关键字: new
9
* new 修饰符与 new 操作符是两个概念
10
* new 修饰符用于声明类或类的成员,表示隐藏了基类中同名的成员。而new 操作符用于实例化一个类型
11
* new 修饰符只能用于继承类,一般用于弥补基类设计的不足
12
* new 修饰符和 override 修饰符不可同时用在一个成员上,因为这两个修饰符在含义上互相排斥
13
*/
14
15
public class NewBase
16
{
17
//基类设计者声明了一个PI的公共变量,方便进行运算
18
public static double PI = 3.1415;
19
}
20
21
public class NewDerived : NewBase
22
{
23
//继承类发现该变量的值不能满足运算精度,于是可以通过new修饰符显式隐藏基类中的声明
24
public new static double PI = 3.1415926;
25
}
26
27
//public class NewTest
28
//{
29
// public static void Main()
30
// {
31
// Console.WriteLine(NewBase.PI);
32
// Console.WriteLine(NewDerived.PI);
33
// Console.ReadLine();
34
// }
35
//}
36
}
37

2

3

4

5

6



7


8

9

10

11

12

13

14

15

16



17

18

19

20

21

22



23

24

25

26

27

28

29

30

31

32

33

34

35

36

37
