调用父类的构造

来源:互联网 发布:搜淘宝网 编辑:程序博客网 时间:2024/06/06 19:10

父类实例的super引用 如果需要在子类方法中调用父类被覆盖的实例方法,可以用super作为调用者来调用父类被覆盖的实例方法。
 public class Ostrich extends Bird{
        … …    //子类中原有的内容
        public void callOverridedMethod(){
                super.fly();  //输出“我在飞”
        }
        … …
}调用父类构造方法 子类不会继承父类的构造方法,但有的时候子类构造方法里需要调用父类构造方法的初始化代码。
例 写出下面程序的执行结果。
class Base{
       protected double size;
       public Base(){
                 size=0; System.out.println(“Base类无参构造”);
       }
       public Base(double s){
                  size=s;System.out.println(“Base类有参构造”);
       }
}public class Sub extends Base{
            private String color;
            public Sub(){
                color=“blue”;System.out.println(“Sub类无参构造”);
            }
            public Sub(String c){
                color=c;System.out.println(“Sub类有参构造”);
            }
            public static void main(String[] args){
                   Sub s1=new Sub();  Sub s2=new Sub(“red”);
            }
} 要在子类中显式调用直接父类带参数的构造方法,可通过super()调用来实现。例如,
          public Sub(double s,String c){
                  super(s);    //调用Base类中带一个参数的构造方法
                  color=c;
                  System.out.println(“Sub类有参构造”);
          }

 

原创粉丝点击