类的构造函数(器)constructor
Posted 天梦Interact
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类的构造函数(器)constructor相关的知识,希望对你有一定的参考价值。
九 类的构造函数 constructor
默认构造函数
每个类在建立和实例化为对象的时候都会首先调用默认的构造函数。
如图:
类中的变量,数字类型的默认赋值为0,字符类型的默认赋值为Null。
要与一般变量的初始值区分开:如下(编译不通过)
构造函数的重载和继承
using System ; class A { public int i; public string s; public A() //修改默认的构造函数 { i=100; s="石头"; } public A(int i):this() //重载构造函数并继承A(); { this.i=i; } public A(string s):this()//重载构造函数并继承A(); { this.s=s; } public A(int i,string s):this()//重载构造函数并继承A(); { this.i=i; this.s=s; } } class Test { static void Main() { A a=new A (); //调用第一个构造函数 Console.WriteLine("第一个构造器"); Console.WriteLine(a.i); Console.WriteLine(a.s); A a1=new A (1); //调用第二个构造函数 Console.WriteLine("第二个构造器"); Console.WriteLine(a1.i); Console.WriteLine(a1.s); A a2=new A ("我是"); //调用第三个构造函数 Console.WriteLine("第三个构造器"); Console.WriteLine(a2.i); Console.WriteLine(a2.s); A a3=new A (2,"中国人"); //调用第四个构造函数 Console.WriteLine("第四个构造器"); Console.WriteLine(a3.i); Console.WriteLine(a3.s); } }
运行结果:
B类继承A类,调用的始终是A的默认的构造函数,注意:当A中只有带参数的构造函数的时候,编译不通过。
静态构造器
如下:静态构造器的特点
以上是关于类的构造函数(器)constructor的主要内容,如果未能解决你的问题,请参考以下文章
错误:Implicit super constructor xx() is undefined for default constructor.