super和this的區別和使用
阿新 • • 發佈:2022-04-15
super
-
注意點:
-
super呼叫父類的構造方法,必須在子類構造方法的第一行;
-
super必須只能出現在子類的方法或者構造方法中;
-
super和this不能同時呼叫構造方法;
-
-
對比this的區別:
-
代表的物件不同:this呼叫的是物件;super是呼叫的父類
-
前提不一致:this沒有繼承也可以使用,而super只能在繼承條件下才能使用
-
構造方法的區別:this()呼叫的是本類的構造;super()呼叫的是父類的構造
package com.oop; importcom.oop.demo03.Student; import com.oop.demo03.Teacher; public class Application { public static void main(String[] args) { Student student = new Student(); student.test("胖貓"); student.test1(); } } package com.oop.demo03; //在java中,所有的類,都預設直接或間接繼承object類 //person 人 public classPerson { public Person() { System.out.println("Person無參執行了"); } protected String name="yanyun"; public void print(){ System.out.println("Person"); } } package com.oop.demo03; public class Student extends Person { public Student() { System.out.println("Student無參執行了"); } private String name="cyy"; public void print(){ System.out.println("Student"); } public void test1(){ print(); this.print(); super.print(); }