null 与 object
最近在写代码时定义如下代码形式
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
//{}
using System;2
using System.Collections;3
public class MyClass4
{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 MyClass129
//{}
本来想输出的结果是object,谁知输出的却是string.
看来在定义多态和调用null时,一定要注意喽,否则出错了。
如果把注释去掉,则编译出错。开来只与object有混淆。
原理,俺不知道,那位知道就指导一下。
-----------------------------------
http://www.cnblogs.com/rock_chen/


浙公网安备 33010602011771号