Java教程

小白学java第二十七日:super关键词

本文主要是介绍小白学java第二十七日:super关键词,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Super详解

Super关键词

  • super学习时要与this区别开更好理解
  • 子类内部调用父类的属性和方法是通过super关键词来实现的!
//子类
package com.yuecheng.oop.Demo05;
//学生也是人(子类,派生类): 学生 is 人;

//子类继承父类,就会继承父类所有的方法
//注意:private(私有方法或属性) 私有的东西是无法继承的
public class Student extends Person{
//快捷键ctrl + h 打开树


    public Student() {
        // 这里隐藏了代码,调用了父类的无参构造
        super();//调用父类构造器必须在子类的第一行
        //上方的代码是默认的不写也行,这里只是知道原理
        System.out.println("子类的无参构造执行了");
    }

    private String name = "婉茹";

    public void print(){
        System.out.println("Student");

    }

    public void test1( ){
        print();//输出Student
        this.print();//Student
        super.print();//Person

    }

    public void  test(String name){
        System.out.println(name);//输出李白
        System.out.println(this.name);//婉茹
        System.out.println(super.name);//玥骋
    }



}


package com.yuecheng.oop.Demo05;
//父类
public class Person {

    public Person() {
        System.out.println("父类Person无参构造执行了");
    }

    protected String name="玥骋";

    public void print(){
        System.out.println("Person");
    }


}


package com.yuecheng.oop;

import com.yuecheng.oop.Demo05.Student;

public class Application {
    public static void main(String[] args) {

        Student student = new Student();
        //student.test("李白");
        student.test1();

    }
}

注意点

  • 父类中私有的部分无法通过 super继承
  • super调用父类的构造方法,必须在构造方法的第一个。
  • super必须也只能出现在子类的方法或者构造方法中。
  • super和this 不能同时调用构造方法。

VS this

  • 代表的对象不同:
    • this:本身调用这这个对象。
    • super:代表父类对象的引用。
  • 前提
    • this:没有呀继承也可以使用。
    • super:只能在继承条件时才可以使用。
  • 构造方法
    • this ()调用的 是本类的构造。
    • super(0调用的是父类的构造。
这篇关于小白学java第二十七日:super关键词的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!