::Z::Thinking::

::Simple::
文章 - 124,收藏 - , 评论 - 49, trackbacks - 0

public class ChildClass extends FatherClass{

  public ChildClass(){

    <super();>  super(name);

    ......

  }

  public ChildClass(String name){

    <super();>  super(name);

    ......

  }

}

如果super()、super(name)没有在Constructer中被显示调用的话,则super()默认在Constructer中被首先调用调用。

如果super(name)被在constructor中第一行被调用了,那么super()就不会也不用被调用了。



BTW:下面是错误的,Constructor只能放在构造函数的第一行,java强制的规则。

 public ChildClass(String name) {
  System.out.println("ChildClass Create,begin :"+name );
  super(name);
  System.out.println("ChildClass Create :"+name );
 }


package test;
public class OuterClass
{
private class InterClass
{
public InterClass()
{
System.out.println("InterClass Create");
}
}
public OuterClass()
{
InterClass ic = new InterClass();
System.out.println("OuterClass Create");
}
public static void main(String[] args)
{
OuterClass oc = new OuterClass();
}
}
输出结果:
C:>java test/OuterClass
InterClass Create
OuterClass Create



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=442532


[点击此处收藏本文]  发表于2005年06月24日 10:27 AM




正在读取评论……