Javaでメソッド非表示を実装する方法



この記事では、例を使用してJavaでメソッド非表示を実装する方法に関する詳細で包括的な知識を提供します。

に 、メソッドが非表示になる可能性に注意する必要があります。サブクラスで同じタイプとシグネチャを使用して作成されたメソッドは、スーパークラスの変数を非表示にすることができます。この記事では、Javaでのメソッドの非表示を次のように理解します。

ダブルをintにキャストする方法

メソッド非表示とは何ですか?

メソッドの非表示は、オーバーライドするメソッドと機能的に非常に似ています。サブクラスで同じタイプとシグニチャを持つメソッドをサブクラスで作成する場合、オーバーライドすると、インスタンスのタイプに基づいてメソッドを呼び出すことができます。





Javaロゴ

同じタイプの静的メソッドの場合次に、スーパークラスとサブクラスのシグニチャの場合、サブクラスのメソッドはスーパークラスのメソッドを非表示にします。



Javaコードを隠すメソッド

package com.test class Parent {public static void foo(){System.out.println( 'Inside foo method in parent class')} public void bar(){System.out.println( 'Inside bar method in parent class' )}} class Child extends Parent {// public static void foo(){System.out.println( 'Inside foo method in child class')} // Overriding public void bar(){System.out.println( '子クラスの内部バーメソッド ')}} public class Code {public static void main(String [] args){Parent p = new Parent()Parent c = new Child()System.out.println(' **** ************メソッドの非表示******************* ')p.foo()//これは親クラスcのメソッドを呼び出します.foo()//これは親クラスのメソッドを呼び出しますSystem.out.println( '****************メソッドのオーバーライド************ ******* ')p.bar()//これは親クラスのメソッドを呼び出しますc.bar()//これは子クラスのメソッドを呼び出します}}

出力:

上記でたとえば、サブクラスのChildには、スーパークラスのParentの静的メソッドと同じ名前と署名を持つ静的メソッドfoo()があります。 p.foo()とc.foo()を呼び出すと、親クラスのfoo()メソッドが呼び出されます。



p.bar()が親クラスのメソッドを呼び出し、c.bar()が子クラスのメソッドを呼び出すメソッドオーバーライドとは異なります。

tostringはJavaでどのように機能しますか

静的メソッドはコンパイル時に解決されるため、コンパイル時に最初の親クラスがコンパイルされ、次に子クラスがコンパイルされます。同じ名前の2つの静的メソッドがあり、両方のfooメソッドが親クラスのfoo()メソッドとして解決されます。

概要

サブクラスにスーパークラスの静的メソッドと同じ名前とシグネチャを持つ静的メソッドがある場合、スーパークラスのメソッドは、子クラスから呼び出されたか親クラスから呼び出されたかに関係なく呼び出されます。

メソッドのオーバーライドの場合、親クラスのメソッドをオーバーライドします。つまり、サブクラスにスーパークラスの非静的メソッドと同じ名前と署名の非静的メソッドがある場合、使用される参照に応じてそれぞれのメソッドが呼び出されます。つまり、オブジェクトの場合です。親クラスのofは、親クラスの非静的メソッドを呼び出すために使用され、次に親クラスのメソッドが使用され、子クラスのオブジェクトが子クラスの非静的メソッドを呼び出すために使用される場合、子クラスのメソッドが使用されます。

これで、このJavaでのメソッドの非表示に関する記事は終わりです。 チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。 EdurekaのJavaJ2EEおよびSOAトレーニングおよび認定コースは、Java開発者になりたい学生および専門家向けに設計されています。

Javaプログラミングに最適なソフトウェア

質問がありますか?この「Javaでのメソッドの非表示」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。