super关键字

阅读量: 4 编辑

通过super关键字访问父类的属性和方法;

一、super关键字介绍

1、在Java类中使用super来引用父类的成分;

2、super可用于访问父类中定义的属性;

3、super可用于调用父类中定义的成员方法;

4、super可用于在子类构造器中调用父类的构造器;

  • 在子类的构造器中可使用语句 super(argument_list) 调用父类的构造器;

  • 如果子类的构造器中没有显式地调用父类构造器,则系统默认调用父类无参数的构造器;

  • 如果子类构造器中既未显式调用父类构造器,而父类中又没有无参的构造器,则编译出错;

二、编程实战

代码的详细解读,可以参考视频教程

父类:Person.java

/**
 * User: 祁大聪
 */
public class Person { //alt + enter

    public String name;

    public Integer age;

    private Integer money;

    public Person(){
        this("sanNi",22);//调用其他的构造器
    }

    public Person(String name, Integer age){
        this.name = name;
        this.age = age;
    }

    public void printNameAndAge(){
        System.out.println("name = " + name + " , age = " + age);
    }

    public void dance(){
        System.out.println("我会跳舞");
    }

    public void sing(String song){
        System.out.println("我会唱歌");
    }

    private void  getMoney(){
        System.out.println("取现金");
    }
}

子类:Girl.java

/**
 * User: 祁大聪
 */
public class Girl extends Person {

    @Override
    public void dance() {
        System.out.println("女孩子喜欢跳民族舞");
    }

    public void myDance(){
        super.printNameAndAge();//调用父类的函数
        dance();
    }

//    public Girl(String name, Integer age){
//        super(name, age); //调用父类的构造器
//    }

    public static void main(String[] args) {
        Girl g = new Girl();
        g.name = "三妮";
        g.age = 22;
        g.myDance();
    }
}
爱码岛编程公众号
试卷资料
爱码岛编程小程序
在线刷题
苏ICP备13052010号
©2023 南京匠成信息科技有限公司