首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java构造器和构造方法

2012-04-27 
java构造器和构造方法 在线等父类A有一构造方法 A() //无参的方法子类B继承父类A现问:1 构造器和 构造方法

java构造器和构造方法 在线等
父类A有一构造方法 A() //无参的方法

子类B继承父类A

现问:1 构造器和 构造方法是一个概念吗
   2 子类构造器一定要调用父类构造方法吗
   3 子类能有自己的构造器吗 //无参的

thanks

[解决办法]
1.构造器和构造方法完全一样,只是不同称呼而已。

2.执行子类构造器之前一定会调用父类构造器。
如果你要调用父类有参数的构造器,就必须在子类构造器的第一行写上super(),括号里面要写上对应类型的参数,如果调用父类无参构造器,就不用写super(),也可以写,都不影响。

3.子类可以有无参构造器,子类也是一个单独的类,想有什么构造器就有什么构造器。
[解决办法]
1.构造方法和构造器是同一概念。构造器结构上就是方法,只是少了还回类型罢了。
2.不要,子类构造器可以调用父类方法,用super()调用父类方法,放在构造方法的第一句。
3.子类可以无构造器,默认是调用父类的无参数构造方法。也可以有自己的构造方法,有参数无参数都可以。


[解决办法]
楼主;;


构造器就是构造方法,,两者是同一概念;

子类构造器默认会调用父类中无参的构造器;

子类可以有无参的构造器,实例化对象时,先默认调用父类中无参构造器;
[解决办法]
4 如果父类也是无参的构造器,子类也是无参的构造器,你刚说
   执行子类构造器之前一定会调用父类构造器,那如果此子类想要调用自己的构造器,那不是也会先调用父类的构造先?

是会先调用父类的构造器的,主要是为父类中定义的属性分配内存
[解决办法]

Java code
public class Test{    public static void main(String args[]){        System.out.println(new C());    }}class A{    public A(){        System.out.println("AAAAA!");    }}class B extends A{//    public B(){//这种情况下编译是不通过的,存在自己的构造方法,系统不会为你产生一个默认的无参//数构造器的。所以c就没能调用B的无参数构造器。因为B木有。//        System.out.println("BBBBB!");//    }    public B(String a){        System.out.println("BBBBBBBBBBBBBBB!");    }}class C extends B{    }
[解决办法]
探讨

多谢楼上的,
再问:4 如果父类也是无参的构造器,子类也是无参的构造器,你刚说
执行子类构造器之前一定会调用父类构造器,那如果此子类想要调用自己的构造器,那不是也会先调用父类的构造先?

热点排行