黑马程序员技术交流社区

标题: 关于继承 [打印本页]

作者: 段永正    时间: 2012-2-4 15:26
标题: 关于继承
class A  
{ public A( ) { Console.WriteLine("A"); } }  
class B:A  
{ public B() { Console.WriteLine("B"); } }  
class Program
{ public static void Main() {
B b = new B(); Console.ReadLine(); } }
为什么答案是A B
作者: 王彬    时间: 2012-2-4 16:10
继承是指一个对象直接使用另一对象的属性和方法。
作者: 朱勋    时间: 2012-2-4 16:38
因为B继承了A,在new出B的对象的时候,首先先要构造父类,调用父类的构造函数,然后在构造子类
作者: 安超    时间: 2012-2-20 19:34
本帖最后由 安超 于 2012-2-26 09:18 编辑

b继承自A,所以构造方法也要先从父类那里开始构造,父类的构造方法是打印A,然后执行自己的构造方法,自己的构造方法是输出b,因此输出了A B
作者: 成刚    时间: 2012-2-24 14:13
{ public static void Main() {
B b = new B(); Console.ReadLine(); } }
你实例化对象后,用Console.ReadLine();???根本就没有任何的输出呀?怎么用有答案A B呢?
作者: 莫洪刚    时间: 2012-2-24 15:01
因为你继承了A,所以当你在B b = new B(); 的时候,它先调用A的构造函数进行执行。所以先打印出A再打印出B
作者: 李紫仪    时间: 2012-2-25 23:57
B继承A,所以B的构造函数里有一个 Console.WriteLine("A");
继承的时候又在构造函数里添加了一个 Console.WriteLine("B");
所以调用构造函数时输出了AB
作者: 邓坤    时间: 2012-2-26 12:23
B继承A,就是继承了A的属性和方法,在对B实例化(b)时,b就会调用A的构造函数,
即输出A,然后调用自身的构造函数,即输出B




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2