關鍵區別–這與java中的super相比
關鍵字“this”和“super”在Java編程中使用。這些關鍵字不能用作變量或任何其他標識符名稱。Java支持面向對象編程(OOP)。程序或軟件可以使用對象建模。對象使用類是貪得無厭的。OOP的一個支柱是繼承。它提供了代碼的可重用性。已經存在的類是超類,派生類是子類。super關鍵字可用於引用超類的對象。系統中有多個對象。“this”關鍵字用於引用當前對象。this和super的關鍵區別是'this'是一個引用變量,用於引用當前對象,而'super'是一個引用變量,用於引用直接超類對象。
目錄
1. 概述和主要區別
2. 這在Java中是什麼
3. Java中的超級是什麼
4. Java中this和super的相似性
5. 並排比較——這與表格形式的Java中的super相比
6. 摘要
什麼是這是java語言(this in java)?
關鍵字“this”用於引用當前對象。參考給定的Java程序。
在Java中,有三種類型的變量。它們是實例變量、局部變量和類變量。根據上面的程序,類Employee有兩個實例變量。他們是身份證和姓名。局部變量是屬於方法的變量。類變量由所有對象共享。id和名稱將傳遞給Employee構造函數。如果程序員寫id=id;它不會初始化實例變量,因為構造函數已經有id和名稱。實例變量沒有值。因此,打印它們將顯示空值。當使用它時,它引用當前對象。因此,給構造函數指定id和name可以設置實例變量。
關鍵字“this”可用於調用當前類方法。參考給定的java程序。
公共課本演示{
公共靜態void main(String[]args){
Myclass Myclass=新建Myclass();
我的class.B();
}
}
我的課{
公共空間A(){
System.out.println(“A”);
}
公共空間B(){
系統輸出原理(“B”);
這個.A();
}
}
類Myclass包含兩個方法。它們是方法A和方法B。當創建Myclass對象並調用方法B時,將輸出B、A。在方法B中,打印B之後有一個語句this.a()。使用它,當前類方法被調用。
也可以使用此關鍵字來調用當前類構造函數。參考給定程序。
公共課本演示{
公共靜態void main(String[]args){
A obj=新的A(5);
}
}
A級{
公共A(){
System.out.println(“建造商A”);
}
公共A(int x){
這個();
System.out.println(“參數化構造函數A”);
}
}
根據上面的程序,類A有一個默認構造函數和一個參數化構造函數。創建的對象時,將調用參數化構造函數。在參數化構造函數中,有一個類似this()的語句;它將調用當前類構造函數,即a()。
什麼是超級java(super in java)?
關鍵字“super”與繼承相關。繼承是面向對象編程的一個主要概念。它允許將現有類的屬性和方法用於新類。已經存在的類稱為父類或父類。新類稱為子類或子類。
“super”是用於引用直接父類對象的引用變量。super關鍵字可以引用直接父類實例變量或調用直接父類方法。super()用於調用直接父類構造函數。
假設有A和B兩個類,A類是超類,B類是子類。類A、B都有顯示方法。
公共A級{
公共無效顯示(){
System.out.println(“A”);
}
}
公共B類延伸A{
公共無效顯示(){
System.out.println(“B”);
}
}
當創建B類型的對象並調用方法display時,它將給出輸出B。類A有display方法,但它被子類B display方法覆蓋。如果程序員想調用類A中的display方法,那麼他可以使用super關鍵字。參考給定的Java程序。
根據上面的程序,類A有一個名為number的變量,值為10。類B擴展了A,並有一個名為number、值為20的變量。通常,當創建類型為B的對象並調用display方法時,應該在子類中給出數字,因為超類值被新類覆蓋。通過使用超級數字,將打印超類編號值。
super()可用於調用超類構造函數。參考以下程序。
公務艙總管{
公共靜態void main(字符串[]args){
B obj=新B();
}
}
A級{
A(){
System.out.println(“A”);
}
}
B類延伸到A{
B(){
超級();
System.out.println(“B”);
}
}
根據上面的程序,類A有一個構造函數A()。類B具有構造函數B()。類B擴展了類A。當創建B類型的對象時,它將打印A,B作為輸出。B()構造函數有super()。因此,首先調用A構造函數,然後調用B。即使沒有編寫super(),默認情況下也會調用父構造函數。
使用該方法的超級用戶如下。
根據上述程序,A級具有顯示方法。類B也有顯示方法。類B擴展了A。當創建B類型的對象並調用顯示方法時,將以A和B的形式給出輸出。在B類顯示方法中,使用超級顯示器(). 這種方法首先打印“A”。然後打印“B”。
什麼是這個和超級之間的相似性(the similarity between this and super)?
- 兩者都是Java編程中的關鍵字。
這(this)和超級的(super)的區別
這對超級 | |
“this”是用於引用當前對象的引用變量。 | “super”是一個引用變量,用於引用立即超類對象。 |
實例變量 | |
一個當前的類實例變量可以用它來引用。 | 超類實例變量可以使用super引用。 |
類方法 | |
當前類方法可以使用這個調用。 | 超類方法可以使用super調用。 |
建造師 | |
可以使用this()調用當前類構造函數。 | 可以使用super()調用超類構造函數。 |
總結 - 這(this) vs. 超級java(super in java)
關鍵字“this”和“super”在Java中使用。關鍵字不能用作變量或任何其他標識符名稱。它們看起來是一樣的,但它們有區別。它與super的區別在於super是一個引用變量,用於引用立即超類對象,而super是引用當前對象的引用變量。
下載此vs super的pdf文檔
你可以下載這篇文章的PDF版本,並按照引文說明離線使用。請在這裡下載PDF版本:這與Java中的super的區別