C#和Java中的构造器constructor是什么?起什么作用?为什么不可以被override??

如题所述

constructor,说简单点就是“构造方法”。构造方法的作用就是“为对象的初始化赋值”。在Java或C#中如果不声明构造方法的话,则系统会自动提供一个不带任何参数的构造方法。举例来说:Student stu1= new Student();其中的Student()就叫做构造方法,是不带参数的构造方法。在比如:Student stu2 = new Student("张三",18);这个Student("张三",18)就是构造方法,是带参数的构造方法。构造方法怎么声明:举个例子:无参数:public Student(){ }有参数public Student(String name,int age){ this.name=name; this.age=age;}至于构造方法为什么不能override?override是方法“重写”,而构造方法不能重写,只能“重载”。若还有疑问,可以继续追问。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-26
constructor是构造函数:在对象创建或者实例化时候被调用的方法。通常使用该方法来初始化数据成员和所需资源。 override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:
  1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
  2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
  3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
  4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
相似回答