使用super关键字

大纲:

    子类可以继承父类的非私有成员变量和成员方法(不是以private关键字修饰的)作为自己的成员变量和成员方法.但是,如果子类中声明的成员变量与父类的成员变量同名,则子类不能继承父类的成员变量,此时橙子类的成员变量隐藏了父类的成员变量.如果子类中声明的成员方法与父类的成员方法同名,并且方法的返回值及参数个数和类型也相同,则子类不能继承父类的成员方法,此时子类的成员方法重写了父类的成员方法.这时,如果想在子类中访问父类中被子类隐藏的成员方法或变量,就可以使用super关键字.super主要有一下两种用途:

    1.调用父类的构造方法

  子类可以调用由父类声明的构造方法.但是必须是在子类的构造方法中使用super关键字来调用.

语法格式:super([参数列表]);

如果父类的构造方法中包括参数,则参数列表为必选项,用于指定父类构造方法的入口参数.

    2.操作被隐藏的成员变量和被重写的成员方法

  如果想在子类中操作父类中被隐藏的成员变量和被重写的成员方法,也可以使用super关键字.

语法格式:

   super.成员变量名

   super.成员方法名([参数类表])

public Son()
    {//super表示父类
        super("儿子");
        
        System.out.println("子类的构造方法");
    }
    
    public void sing()
    {
        System.out.println("我喜欢唱歌");
    }
    //覆盖(重写)只有继承中才出现
    public void work()
    {//调用父类方法
        //super.work();
        //System.out.println("我不喜欢上班,我要去唱歌");
        
        System.out.println("我边上班边练歌");
        
    }
重点是注释

 

    

posted on 2016-03-08 21:29  一全  阅读(2983)  评论(0编辑  收藏  举报

导航