這個問題在這里已經有了答案: Java-在繼承中,可以在不創建類的情況下呼叫方法 (2個答案) java - 可以在子類中直接呼叫父類的實體方法嗎? (3 個回答) 必須呼叫 super 才能使用 Java 的超類方法 1 個回答 5 小時前關閉。
我學習java繼承,這是我的父子類
public class ParentClass {
String name;
final String subject = "Java";
public ParentClass(String name) {
this.name = name;
}
void intro () {
System.out.println("Learn " this.subject);
}
}
class ChildClass extends ParentClass {
ChildClass(String name) {
super(name);
}
void getMethodParent() {
intro();
System.out.println(subject);
}
}
我的問題是為什么我仍然可以在不使用 super 關鍵字的情況下從父類訪問方法或變數?像方法介紹在getMethodParent,它應該是super.intro() 。
我用:
- JDK 17.0.1
- 視覺作業室代碼
uj5u.com熱心網友回復:
您可以呼叫并訪問它,因為您已經繼承了它。super僅當您覆寫該方法但仍想訪問它的父版本時才需要。
uj5u.com熱心網友回復:
Java 具有基于您定義方法的可見性的特定繼承規則。在這里您宣告intro()默認或包可見性,因此它在ChildClass. 此規則類似于您不必this在類中的每個方法呼叫之前指定的方式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/369642.html
上一篇:JPA-表“employeemanager.employee”不存在
下一篇:如何從時間中提取小時部分
