Java super關(guān)鍵字用法實(shí)戰(zhàn)案例分析
本文實(shí)例講述了Java super關(guān)鍵字用法。分享給大家供大家參考,具體如下:
一 點(diǎn)睛
如果子類繼承了父類的數(shù)據(jù)成員,這時就需要調(diào)用父類的有參構(gòu)造方法,來初始化來自父類的數(shù)據(jù)成員,這時就需要顯示的調(diào)用父類中的有參構(gòu)造方法super(參數(shù)1,參數(shù)2)。
二 實(shí)戰(zhàn)——super調(diào)用父類中的構(gòu)造方法
1 代碼
class Person
{
String name;
int age;
public Person( String name, int age ) // 父類的構(gòu)造方法
{
this.name = name;
this.age = age;
}
}
class Student extends Person
{
String school;
// 子類的構(gòu)造方法
public Student(String name, int age, String school)
{
super( name, age ); // 用super調(diào)用父類中的構(gòu)造方法
this.school = school;
}
}
public class SuperDemo
{
public static void main( String[] args )
{
Student s = new Student("Jack", 30, "HAUT");
System.out.println( "Name:" + s.name + ", Age:" + s.age + ", School:" + s.school );
}
}
2 運(yùn)行
Name:Jack, Age:30, School:HAUT
3 說明
在子類的構(gòu)造方法中明確地使用super(name,age),指明調(diào)用的是父類的有兩個參數(shù)的構(gòu)造方法。
調(diào)用super()必須寫在構(gòu)造方法的第1行,否則編譯不過。
每個子類構(gòu)造方法的第一句話,都隱含地調(diào)用了super(),如果父類中沒有提供這種形式的構(gòu)造方法,那么在編譯的時候就會報錯。
三 實(shí)戰(zhàn)——通過super調(diào)用父類的屬性和方法
1 代碼
class Person
{
String name;
int age;
// 父類的構(gòu)造方法
public Person()
{
}
public String talk()
{
return "I am :" + this.name + ", I am: " + this.age + " years old";
}
}
class Student extends Person
{
String school;
// 子類的構(gòu)造方法
public Student( String name, int age, String school )
{
// 在這里用super調(diào)用父類中的屬性,其實(shí)換成this也是可以的
super.name = name;
super.age = age;
// 調(diào)用父類中的talk()方法
System.out.print( super.talk() );
// 調(diào)用本類中的school屬性
this.school = school;
}
}
public class SuperDemo2
{
public static void main( String[] args )
{
Student s = new Student( "Jack", 30, "HUAT" );
System.out.println( ", I am from:" + s.school );
}
}
2 運(yùn)行
I am :Jack, I am: 30 years old, I am from:HUAT
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java面向?qū)ο蟪绦蛟O(shè)計入門與進(jìn)階教程》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
淺析Java如何優(yōu)雅的設(shè)計接口狀態(tài)碼和異常
HTTP協(xié)議里定義了一系列的狀態(tài)碼用來表明請求的狀態(tài),如常用的200表示請求正常,404表示請求的資源不存在,所以本文就來和大家討論一下如何優(yōu)雅的設(shè)計接口狀態(tài)碼和異常,感興趣的可以了解下2024-03-03
SpringBoot返回文件使前端下載的幾種方式小結(jié)
本文主要介紹了Spring Boot中幾種文件下載的方法,通過后端應(yīng)用下載文件并進(jìn)行業(yè)務(wù)處理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
自從在 IDEA 中用了熱部署神器 JRebel 之后,開發(fā)效率提升了 10(真棒)
在javaweb開發(fā)過程中,使用熱部署神器 JRebel可以使class類還是更新spring配置文件都能立馬見到效率,本文給大家介紹JRebel的兩種安裝方法,小編建議使用第二種方法,具體安裝步驟跟隨小編一起看看吧2021-06-06
SpringBoot整合JWT框架,解決Token跨域驗(yàn)證問題
Json web token (JWT), 是為了在網(wǎng)絡(luò)應(yīng)用環(huán)境間傳遞聲明而執(zhí)行的一種基于JSON的開放標(biāo)準(zhǔn)((RFC 7519).定義了一種簡潔的,自包含的方法用于通信雙方之間以JSON對象的形式安全的傳遞信息。2021-06-06
idea構(gòu)建web項(xiàng)目的超級詳細(xì)教程
好多朋友在使用IDEA創(chuàng)建項(xiàng)目時,總會碰到一些小問題,下面這篇文章主要給大家介紹了關(guān)于idea構(gòu)建web項(xiàng)目的超級詳細(xì)教程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
詳解Java8中接口的默認(rèn)方法和靜態(tài)方法
Java 8是Java語言的一個重要版本,其中引入了許多新特性和改進(jìn),其中一個值得關(guān)注的特性是接口的默認(rèn)方法和靜態(tài)方法,本文就來和大家簡單講講吧2023-05-05
利用HttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄肏ttpUrlConnection 上傳 接收文件的實(shí)現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11

