日期:2014-05-18 浏览次数:20961 次
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 第二季
{
class Program
{
static void Main(string[] args)
{
Person p1 = new Person("ahgnsan", 20);
p1.SayHello();
中国人 p2 = new 中国人();
p2.Name = "lisi";
p2.gonfu();
p2.hukou = "nanjing";
Console.ReadKey();
}
}
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person(string name)
{
this.Name = name;
}
public Person(int Age)
{
this.Age = Age;
}
public Person(string name, int age)
{
this.Age = age;
this.Name = name;
}
public void SayHello()
{
Console.WriteLine("你好");
}
}
class 中国人 : Person
{
public string hukou { set; get; }
public void gonfu()
{
Console.WriteLine("wo da!!");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.IO;
namespace ConsoleApplication6
{
class Program
{
static void Main(string[] args)
{
Person p1 = new Person("ahgnsan", 20);
p1.SayHello();
中国人 p2 = new 中国人();
p2.Name = "lisi";
p2.gonfu();
p2.hukou = "nanjing";
Console.ReadKey();
}
}
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person()
{
}
public Person(string name)
{
this.Name = name;
}
public Person(int Age)
{
this.Age = Age;
}
public Person(string name, int age)
{
this.Age = age;
this.Name = name;
}
public void SayHello()
{
Console.WriteLine("你好");
}
}
class 中国人 : Person
{
public string hukou { set; get; }
public void gonfu()
{
Console.WriteLine("wo da!!");
}
}
}
------解决方案--------------------
中国人 : Person
因为"中国人"这个类有一个默认的0参构造函数,这就要求它的基类也有一个0参的构造函数,但是不存在,所以报错了。
你只需要给Person添加一个无参的构造函数就行了。
------解决方案--------------------
class Person
{
public string Name { get; set; }
public int Age { get; set; }
//这个类中要包含一个空参的构造函数
public Person()
{
}
//因为有带参数的构造函数,上面的空参函数是必须的
public Person(string name)
{
this.Name = name;
}
public Person(int Age)
{
this.Age = Age;
}
public Person(string name, int age)
{
this.Age = age;
this.Name = name;
}
public void SayHello()
{
Console.WriteLine("你好");
}
}
------解决方案--------------------
这个 到没注意到 我百度了下 得到结果
因为构造子类前必定构造父类 中国人继承自Person 而当你(new 中国人)的时候 首先会先构造Person 而你的父类Person又没有0个参数的构造函数 所以当然出错.
------解决方案--------------------
继承的类,初始化的时候会先执行基类的构造函数,如你的“中国人”类,继承了Person类;则初始化“中国人”类的时候,会先执行基类Person的构造函数。Person基类里面有两个构造函数的重载,两个构造函数都有