Java?super關鍵字的使用詳解
1.super介紹
我們可以通過super關鍵字來實現(xiàn)對父類成員的訪問,用來引用當前對象的父類。
用于訪問父類的屬性,方法,構造器
2.super的基本使用
我們來演示以下子類調用父類的屬性,方法和構造器
父類:
/** * super關鍵字演示父類 */ public class SuperFather { public int n1 = 100; int n2 = 110; protected int n3 = 120; private int n4 = 130; public void say() { System.out.println("我是公開的方法"); } protected void show() { System.out.println("我是受保護的方法"); } private void can() { System.out.println("我是私有方法"); } }
子類:
/** * super關鍵字演示子類 */ public class SuperSon extends SuperFather { public void test() { // 訪問父類的屬性,不能訪問父類的私有屬性 System.out.println(super.n1 + super.n2 + super.n3); // 訪問父類的方法,同樣不能訪問父類的私有方法 super.say(); super.show(); } public SuperSon() { // 訪問父類的構造器 // 訪問無參構造 super(); } }
3.子類和父類方法的調用細節(jié)
子類訪問父類的方法,子類與父類方法無重名:
父類:
public void sum() { System.out.println("我是sum功能!"); }
子類:
// 本類中沒有sum方法,則去父類中找sum方法,父類沒有則找爺爺類 sum(); super.sum(); // 通過這種方法也可以訪問哦,這種方法會跳過本類的查找直接在父類中查找
子類訪問父類的方法,子類與父類方法有重名:
這種情況,子類想要訪問父類的方法,只能通過super關鍵字來訪問:
父類:
public void cal() { System.out.println("我是父類的cal功能 !"); }
子類:
public void cal() { System.out.println("我是子類的cal功能!"); } public void test() { // 子類和父類重名的方法 super.cal(); }
屬性的訪問規(guī)則同方法
4.super和this的區(qū)別
super關鍵字:我們可以通過super關鍵字來實現(xiàn)對父類成員的訪問,用來引用當前對象的父類。
this關鍵字:指向自己的引用。
下面用代碼直觀的展示下二者的區(qū)別
// 父類 public class Person { public String name = "小鹵蛋"; public void print(){ System.out.println("Person"); } } // 子類 public class Student extends Person{ private String name = "魯班七號"; public void test(String name){ // 輸出name的方法 System.out.println(name); System.out.println(this.name); System.out.println(super.name); } public void print(){ System.out.println("Student"); } public void test2(){ // 輸出方法 print(); this.print(); super.print(); } } // main方法 public static void main(String[] args) { Student student = new Student(); student.test("魯班七號"); student.test2(); }
到此這篇關于Java super關鍵字的使用詳解的文章就介紹到這了,更多相關Java super關鍵字內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot基于HttpMessageConverter實現(xiàn)全局日期格式化
這篇文章主要介紹了SpringBoot基于HttpMessageConverter實現(xiàn)全局日期格式化,使用Jackson消息轉換器,非常具有實用價值,需要的朋友可以參考下2018-12-12idea中創(chuàng)建maven的Javaweb工程并進行配置(圖文教程)
這篇文章主要介紹了idea中創(chuàng)建maven的Javaweb工程并進行配置,本文通過圖文并茂的形式給大家介紹的非常詳細,文中給大家提到了tomcat的運行方法,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02Java操作redis實現(xiàn)增刪查改功能的方法示例
這篇文章主要介紹了Java操作redis實現(xiàn)增刪查改功能的方法,涉及java操作redis數(shù)據(jù)庫的連接、設置、增刪改查、釋放資源等相關操作技巧,需要的朋友可以參考下2017-08-08