黑马程序员技术交流社区

标题: 构造函数 [打印本页]

作者: 白倩    时间: 2011-11-3 10:04
标题: 构造函数
今儿同学问我一小问题,看看大家知道不!
构造函数是否可以被override?
作者: 沙铁健    时间: 2011-11-3 10:11
不可以的....override是用来重写父类中的方法或者重写本类和object的toString()方法。
作者: 沙铁健    时间: 2011-11-3 10:22
沙铁健 发表于 2011-11-3 10:11
不可以的....override是用来重写父类中的方法或者重写本类和object的toString()方法。 ...

抢答 什么啊....    刚吃完饭 起来    发布个项目  逛逛论坛.
作者: 张邦庆    时间: 2011-11-3 10:22
构造函数被重载(overload),不能被重写的
作者: 宁超    时间: 2011-11-3 10:25
沙铁健 发表于 2011-11-3 10:11
不可以的....override是用来重写父类中的方法或者重写本类和object的toString()方法。 ...

什么项目哈?
作者: 沙铁健    时间: 2011-11-3 10:51
宁超 发表于 2011-11-3 10:25
什么项目哈?

c#的winform+access
作者: 杨玉揆    时间: 2011-11-3 10:51
override 用的范围是 存在于继承关系的类中
作者: 张晨    时间: 2011-11-3 15:03
构造函数无法被覆盖,继承父类后,子类需要调用父类的构造函数,并且需要实现父类的构造函数
作者: 葛雨龙    时间: 2011-11-3 15:16
必然不可以啊,这构造函数名和类名一样,如何覆盖父类的
作者: 庄承荣    时间: 2011-11-3 20:40
张邦庆 发表于 2011-11-3 10:22
构造函数被重载(overload),不能被重写的

补充一点,每个类都有默认的无参构造函数(不写出code也存在),但如果该无参构造函数被重载,而类中又没写出无参构造函数的code , 则该类的无参构造函数不能使用。
作者: 喻尚健    时间: 2011-11-3 23:12
子类不能重写父类的构造器,但可以通过super来调用父类的构造器。
比如:
public class Sub extends Basic
{
        .......
        public Sub(String name,double size,String color)
        {
                super(name,size);
                this.color=color;
        }
        .......
}
作者: byronsong    时间: 2011-11-4 13:40
每个类都有自己的构造函数,不可以被覆盖。但是子类可以用super来调用父类的构造函数
作者: 史晓霞    时间: 2011-11-4 20:58
当建立一个类时,如果你不写构造方法,程序会给我们提供一个默认的无参构造方法,当你写一个有参方法是,如果你不写无参构造方法就没有了,不能被使用。当子类继承父类时,如果不写构造方法,它会用默认的构造方法调用父类的无参构造方法,如果你在子类中写一个有参构造方法,你必须指定调用父类的那个构造方法
作者: laoyang    时间: 2011-11-8 11:46
可以重载




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