1. 程式人生 > 其它 >super和this的區別和使用

super和this的區別和使用

super

  • 注意點:

  1. super呼叫父類的構造方法,必須在子類構造方法的第一行;

  2. super必須只能出現在子類的方法或者構造方法中;

  3. super和this不能同時呼叫構造方法;

  4. 呼叫方法時先呼叫構造方法,順序是先執行父類的構造方法,再執行子類的構造方法。

  • 對比this的區別:

  1. 代表的物件不同:this呼叫的是物件;super是呼叫的父類

  2. 前提不一致:this沒有繼承也可以使用,而super只能在繼承條件下才能使用

  3. 構造方法的區別:this()呼叫的是本類的構造;super()呼叫的是父類的構造

package com.oop;

import
com.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 class
Person { 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(); }