Super は、スーパークラス内の関数またはメソッドを呼び出すために使用されるキーワードです。これはサブクラス内で定義されます。このキーワードを使用すると、パブリックで保護されたメソッドのみを呼び出すことができます。つまり、これを使用してプライベート メソッドや静的メソッドを呼び出すことはできません。 Java の super キーワードは、親クラスのコンストラクターを呼び出すために使用することもできます。 super キーワードの構文、例、および詳細については、次のセクションで説明します。
構文
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
super.> or super([0 or more arguments]);
スーパーキーワードは Java でどのように機能しますか?
すでに述べたように、super はさまざまな場面で使用できます。
- 直接の親クラスのインスタンス変数を参照します。
- 直接の親クラスのメソッドを参照します。
- 直接の親クラスのコンストラクターを参照します。
1.直接の親クラスのインスタンス変数を参照するには
親クラスと子クラスに同じデータ メンバーがある場合、Super キーワードを使用して親クラスのフィールドまたはデータ メンバーにアクセスできます。この場合、Java 仮想マシンのあいまいさが発生する可能性があります。
例:
コード:
class A { protected String name="ann"; } class B extends A { public String name="Anna"; public void hello() { System.out.println("I am " + name); System.out.println("I am " + super.name); } }
ここでは、2 つのクラス A と B が共通のフィールド名を持っています。子クラス内の関数 printType() は、super キーワードを使用して親クラスのフィールドを参照します。
2.直接の親クラスのメソッドを参照するには
メソッドのオーバーライドは、親クラスですでに使用可能なものと同じ関数またはメソッドを子クラスが宣言するプロセスです。子クラスのオブジェクトからメソッドの呼び出しが発生した場合、子クラスのメソッドのみが呼び出されるとします。親メソッドにアクセスするには、スーパーキーワードを使用できます。
例:
コード:
class A { protected String name="ann"; public void hello() { System.out.println("I am " + name); } } class B extends A { public String name="Anna”; public void hello() { System.out.println("I am " + name); } public void test() { hello(); super.hello(); } }
ここでは、2 つのクラス A と B が同じメソッド hello() を持っています。 test() 関数の super キーワードを使用すると、親クラスの hello() メソッドにアクセスできます。
3.直接の親クラスのコンストラクターを参照するには
クラスのオブジェクトが作成されると、コンストラクター (デフォルト) が自動的に呼び出されることはすでに知られています。 super キーワードを使用すると、サブクラスのコンストラクターからスーパークラスのコンストラクターを明示的に呼び出すことができます。 super がサブクラスのコンストラクター内でのみ使用され、それがサブクラス内の最初のステートメントであることを確認してください。
例:
コード:
class A { //constructor of parent class A() { System.out.println("I am Kavya Madhavan"); } } //child class class B extends A { //constructor of child class B() { super(); System.out.println("I am Dileep Menon"); } }
Java のスーパーキーワードの例
以下に挙げたさまざまな例を示します:
例 #1
次のプログラムでは、共通の変数名が存在し、親クラスの変数を呼び出すために super が使用されています。
コード:
//Java program to illustrate Super keyword to refer instance variable //parent class class A { protected String name="ann"; } //child classs class B extends A { public String name="Anna";//variable which is same in parent class //sample method public void hello() { System.out.println("I am " + name); System.out.println("I am " + super.name); } } //main class public class SuperExample { public static void main(String[] args) { B objb=new B();//object of child class objb.hello();//call the method in child class } }
出力:
例 #2
このプログラムは、親クラスで同じメソッドを参照しながら super キーワードをデモンストレーションするのに役立ちます。ここで、hello() は両方のクラスで使用できるメソッドです。
コード:
//Java program to illustrate Super keyword to refer same method in parent class //parent class class A { protected String name="ann"; public void hello() { System.out.println("I am " + name); } } //child classs class B extends A { public String name="Anna";//variable which is same in parent class //sample method which is same in parent class public void hello() { System.out.println("I am " + name); } //method to call the hello() method in parent and child class public void test() { hello(); super.hello(); } } //main class public class SuperExample { public static void main(String[] args) { B objb=new B();//object of child class objb.test();//call the method in child class } }
出力:
例 #3
このプログラムは、super キーワードを使用して親クラスのコンストラクターを呼び出します。
コード:
//Java program to illustrate Super keyword to refer constructor in parent class //parent class class A { //constructor of parent class A() { System.out.println("I am Kavya Madhavan"); } } //child class class B extends A { //constructor of child class B() { super(); System.out.println("I am Dileep Menon"); } } //main class public class SuperExample { public static void main(String[] args) { B objb=new B();//object of child class } }
出力:
例 #4
このプログラムは、親クラスのパラメーター化されたコンストラクターを参照するためのスーパー キーワードの使用法を示します。
コード:
//Java program to illustrate Super keyword to refer parameterised constructor in parent class //parent class class A { //constructor of parent class A() { System.out.println("I am Kavya Madhavan"); } //parameterised constructor A(String name) { System.out.println("I am " + name); } } //child class class B extends A { //constructor of child class B() { super("Renuka"); System.out.println("I am Dileep Menon"); } } //main class public class SuperExample { public static void main(String[] args) { B objb=new B();//object of child class } }
出力:
結論
Super は、親クラスのメソッドまたは関数、インスタンス変数または属性、およびコンストラクターを参照するために使用される Java のキーワードです。コンストラクターが宣言されていない場合、コンパイラーはデフォルトのコンストラクターを自動的に作成します。同様に、super() が宣言されていない場合、コンパイラは自動的に super() を呼び出します。このドキュメントでは、スーパー キーワードのいくつかの側面について詳しく説明します。
以上がJavaのスーパーキーワードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Javaは、Java Virtual Machines(JVMS)とBytecodeに依存している「Write and Averywherewherewherewherewherewherewhere」の哲学のために、プラットフォームに依存しません。 1)Javaコードは、JVMによって解釈されるか、地元でその場でコンパイルされたBytecodeにコンパイルされます。 2)ライブラリの依存関係、パフォーマンスの違い、環境構成に注意してください。 3)標準ライブラリを使用して、クロスプラットフォームのテストとバージョン管理がプラットフォームの独立性を確保するためのベストプラクティスです。

java'splatformindepenceisnotsimple; itinvolvescomplexities.1)jvmcompatibilitymustbeensuredacrosplatforms.2)nativeLibrariesandsystemCallSneedCarefulHandling.3)依存症の依存症の依存症と依存症の依存症と依存関係の増加 - プラットフォームのパフォーマンス

java'splatformentedentencebenefitswebapplicationsbyAllowingCodeTorunOnySystemwithajvm、simpledifyifieddeploymentandscaling.itenables:1)easydeploymentddifferentservers、2)Seamlessscalingacroscloudplatforms、および3)deminvermentementmentmentmentmentementtodeploymentpoce

jvmistheruntimeenvironment forexecutingjavabytecode、Curivalforjavaの「writeonce、runanywhere」capability.itmanagesmemory、executessuressecurity、makingestessentionentionalforjavadevadedertionserstunterstanderforeffication devitivationdevation

JavareMainsAtopChoiceFordevelopersDuetoitsPlatformEndepentence、Object-OrientedDesign、stryngting、automaticmemorymanagement、およびcomprehensivestandardlibrary.thesefeaturesmavaversatilatileandpowerful、sustableforawiderangeofplications、daspitesomech

java'splatformentencemeansdeveloperscancancodecodeonceanddevicewithoutrocompilling.cancodecodecodecodecodecodecodecodecodecodecodecode compilling

JVMをセットアップするには、次の手順に従う必要があります。1)JDKをダウンロードしてインストールする、2)環境変数を設定する、3)インストールの確認、4)IDEを設定する、5)ランナープログラムをテストします。 JVMのセットアップは、単に機能するだけでなく、メモリの割り当て、ガベージコレクション、パフォーマンスチューニング、エラー処理の最適化を行い、最適な動作を確保することも含まれます。

toensurejavaplatformindopendence、soflowthesesteps:1)compileandrunyourapplicationOnMultiplePlatformsusingDifferentosAndjvversions.2)utilizeci/cdpipelines


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。
