全网最细之super讲解
生活随笔
收集整理的這篇文章主要介紹了
全网最细之super讲解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.super調用父類構造方法且必須出現在方法內第一行
2.super必須只能出現在子類的方法或者構造方法中
3.super和this不能同時存在
vs this:
代表的對象不同:
this:本身
super:父類
前提:
this:沒有繼續也可以使用
super:只能在繼承后使用
構造方法
this()本類構造
super()父類構造
package com.wuming.oop3.demo06; //person 人 父類 public class Person {protected String name="無名";/* public Person() {System.out.println("person無參執行了");}*/public Person(String name) {System.out.println("person無參執行了");}public void print(){//把public 改成private報錯,Error:(20, 14) java: print()可以在com.wuming.oop3.demo06.Person中訪問privateSystem.out.println("person");} } package com.wuming.oop3.demo06;//學生 is 人 子類 //子類繼承父類就擁有父類的全部方法 public class Student extends Person {public Student() {//1 父類無參//默認隱藏了super(),調用父類無參構造且必須在大括號第一行//this("d"); 和super()都必須在大括號第一行,只能用一個//默認都不寫//2父類有參super("s");//如果父類只寫了有參,子類會報錯,加上super("參數")就ok;默認調用父類無參System.out.println("Student無參執行了");}public Student(String name) {super("dd");this.name = name;}private String name="wuming";public void test(String name){System.out.println(name);//wmSystem.out.println(this.name);//wumingSystem.out.println(super.name);//無名}public void print(){System.out.println("student");}public void test1(){print();//studentthis.print();//studentsuper.print();//person} } package com.wuming.oop3;import com.wuming.oop2.demo05.Person; import com.wuming.oop3.demo06.Student; public class Application {public static void main(String[] args) {Student student = new Student();student.test("wm");student.test1();Student student1 = new Student();//先執行 person無參執行了 Student無參執行了 默認隱藏了super()} }person無參執行了
Student無參執行了
wm
wuming
無名
student
student
person
person無參執行了
Student無參執行了
總結
以上是生活随笔為你收集整理的全网最细之super讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python chr 函数 - Pyth
- 下一篇: state的简写方式