构造函数和实例化

1.对象是构造的。不调用构造函数,就不能建立一个新的对象。
2. 每个类,包括抽象类,都必须有一个构造函数。一定要牢记这一点。但是,每个类必须有一个构造函数并不意味着程序员必须输入它。
3. 构造函数没有任何返回类型。

构造函数规则
1. 构造函数能够使用任何访问修饰符,包括private。(私有构造函数指只有该类自身的代码才能实例化这种类型的对象。因此,如果私有构造函数类想允许使用该类的实例,该类则必需提供静态方法或变量,它们允许访问从该类内部创建的实例);
2. 构造函数名称必须与类名相同。
3. 构造函数一定不能有返回类型。
4. 让方法与类具有相同的名称是合法的(但是愚蠢的),但是,这并不能使它成为一个构造函数。如果看到返回类型,它就是一个方法,而不是构造函数;
5. 如果不在类代码中输入构造函数,编译器将自动生成默认构造函数;
6. 默认构造函数总是无参数构造函数。
7. 每个构造函数必须调用重载构造函数(this())或调用父类构造函数(super())作为其第一条语句。
8.如果确实输入了一个构造函数(不是依赖于编译器生成的默认构造函数), 而没有输入对super()的调用,编译器则将插入一个对super()的无参调用。
9. 对super()的调用可以是无参数调用,或者也可以包含传递给父构造函数的参数;
10. 除非在父构造函数运行之后,否则不能调用实例方法或访问实例变量。
11.可以访问静态变量和方法,尽管只能把它们用作调用super()或this()的一部分。(super(Animal.Dothings()));
12. 抽象类具有构造函数,这些构造函数总是当具体子类被实例化时才调用。
13. 调用构造函数的唯一方法是从另一个构造函数之内调用。

public student(int age,string name)
{
this.age=age;
this.name=name;
}

构造函数:
1.方法和类的名字相同
2.没有返回值
3.用来初始化对象
4.当类被实例化时被调用
5.当类没有参的构造函数时,会自动提供一个无参的构造函数。

构造函数的执行顺序:先父类后子类。

posted @ 2011-11-02 15:52  坏小子小明  阅读(1867)  评论(0编辑  收藏  举报