最近在写代码时定义如下代码形式
1
using System;
2
using System.Collections;
3
public class MyClass
4
{
5
public static void Main()
6
{
7
MyClass my = new MyClass();
8
my.test(null);
9
Console.Read();
10
}
11
12
public void test(string aa)
13
{
14
Console.WriteLine("string");
15
}
16
17
public void test(object aa)
18
{
19
Console.WriteLine("object");
20
}
21
22
//public void test(MyClass1 myClass1)
23
//{
24
// Console.WriteLine("MyClass1");
25
//}
26
}
27
28
//public class MyClass1
29
//{}

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

本来想输出的结果是object,谁知输出的却是string.
看来在定义多态和调用null时,一定要注意喽,否则出错了。
如果把注释去掉,则编译出错。开来只与object有混淆。
原理,俺不知道,那位知道就指导一下。