這(this)和超級java(super in java)的區別

關鍵字“this”和“super”在Java程式設計中使用。這些關鍵字不能用作變數或任何其他識別符號名稱。Java支援面向物件程式設計(OOP)。程式或軟體可以使用物件建模。物件使用類是貪得無厭的。OOP的一個支柱是繼承。它提供了程式碼的可重用性。已經存在的類是超類,派生類是子類。super關鍵字可用於引用超類的物件。系統中有多個物件。“this”關鍵字用於引用當前物件。this和super的關鍵區別是'th...

關鍵區別–這與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程序。

這(this)和超級java(super in java)的區別

圖01:使用此關鍵字的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程序。

這(this)和超級java(super in java)的區別

圖02:使用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(),默認情況下也會調用父構造函數。

使用該方法的超級用戶如下。

這(this)和超級java(super in java)的區別

圖03:調用超類方法的Java程序

根據上述程序,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的區別

引用
  • 發表於 2020-10-19 18:17
  • 閱讀 ( 57 )
  • 分類:科技

你可能感興趣的文章

扔(throw)和丟擲java(throws in java)的區別

...用於異常處理的關鍵字。 扔(throw)和丟擲java(throws in java)的區別 Java中的throw vs throws throw是Java中用來顯式丟擲異常的關鍵字。 throws是Java中用來宣告異常的關鍵字。 多重例外 throw不能有多個異常。 丟擲可能有多個...

  • 發佈於 2020-09-21 19:02
  • 閲讀 ( 52 )

字串緩衝區(string stringbuffer)和java中的stringbuilder(stringbuilder in java)的區別

...區(string stringbuffer)和java中的stringbuilder(stringbuilder in java)的區別 String vs StringBuffer vs StringBuilder 字串 string是一個Java類,用於建立string型別的物件,string是一個字元序列。 字串緩衝區 StringBuffer是一個Java類,用於建立...

  • 發佈於 2020-10-02 19:22
  • 閲讀 ( 45 )

包裹(package)和java介面(interface in java)的區別

...它有助於歸檔抽象。 包裹(package)和java介面(interface in java)的區別 包是一組提供訪問保護和名稱空間管理的相關類。介面是一個類似於類的引用型別,類是抽象方法的集合。包有助於有條理地對類進行分類,以便輕鬆地訪問和維...

  • 發佈於 2020-10-18 11:01
  • 閲讀 ( 50 )

等於(equals)和java中的hashcode(hashcode in java)的區別

...HashMap等集合。 等於(equals)和java中的hashcode(hashcode in java)的區別 等於Java中的hashCode equals是Java中的一個方法,它的作用類似於==運算子,後者用於測試物件標識而不是物件相等性。 hashCode是一種方法,類透過該方法隱...

  • 發佈於 2020-10-19 00:40
  • 閲讀 ( 52 )

睡覺(sleep)和在java中等待(wait in java)的區別

...緒時可以使用的方法 睡覺(sleep)和在java中等待(wait in java)的區別 Java中的睡眠與等待 sleep方法使當前執行緒暫停執行指定的毫秒數,這取決於系統計時器和排程程式的精度和準確性。 wait方法使當前執行緒等待,直到...

  • 發佈於 2020-10-19 03:04
  • 閲讀 ( 47 )

打破(break)和在java中繼續(continue in java)的區別

...改迴圈的執行。 打破(break)和在java中繼續(continue in java)的區別 Java中的break vs continue break是一種迴圈控制結構,它使迴圈終止並將程式控制傳遞給迴圈的下一個語句。 continue是一個迴圈控制結構,它使迴圈立即跳到迴...

  • 發佈於 2020-10-19 05:44
  • 閲讀 ( 61 )

包裝類(wrapper class)和java中的基元型別(primitive type in java)的區別

...類用於此轉換。本文討論了Java中包裝類和基元型別之間的區別。Java中包裝類與基元型別的關鍵區別在於,包裝類用於將原語型別轉換為物件,並將物件轉換回原語型別,而基元型別是由Java程式語言提供的預定義資料型別。 目...

  • 發佈於 2020-10-19 06:27
  • 閲讀 ( 90 )

靜止的(static)和java期末考試(final in java)的區別

...final是Java中的兩個關鍵字。本文討論Java中static和final之間的區別。Java中static和final之間的關鍵區別在於static用於定義可以獨立於類的任何物件使用的類成員,而final用於宣告常量變數或無法重寫的方法或無法繼承的類。 目錄 1. ...

  • 發佈於 2020-10-19 07:48
  • 閲讀 ( 53 )

選中的(checked)和java中的未檢查異常(unchecked exception in java)的區別

...ArrayOutOfBound異常。本文討論Java中checked和unchecked異常之間的區別。Java中checked異常和unchecked異常之間的關鍵區別在於編譯器檢查checked異常,而編譯器不檢查checked異常。 目錄 1. 概述和主要區別 2. Java中的檢查異常是什麼 3. 什麼是J...

  • 發佈於 2020-10-19 08:38
  • 閲讀 ( 61 )

變數(variables)和java中的資料字面值(data literals in java)的區別

...,“5”是資料文字。本文討論Java中變數和資料文字之間的區別。Java中變數和資料字面值的主要區別在於,變數是用符號名儲存值的保留記憶體位置,而資料字面值是表示程式設計中固定值的符號。 目錄 1.概述和主要區別 2.Java...

  • 發佈於 2020-10-19 08:52
  • 閲讀 ( 48 )
kubkk880
kubkk880

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦