Javaこのキーワードの説明
このキーワードは、現在のオブジェクト自体、または現在のクラスのインスタンスを表すために使用されます。例えば:
パブリッククラス{public x = 10; :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::づ 火::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::づ 火::::: :::::::::::::::::::::::::: y = " + z);} public static void main(string [] args){demo obj = new demo();
実行結果:
x + y = 25
上記のプログラムでは、Demoクラスのインスタンスです。
注:これは、クラスのインスタンス化後にのみ理にかなっています。
これを使用して、同じ名前の変数を区別します
メソッド内の変数が複製されている場合、メソッド内のメンバー変数を呼び出します。これのみは、この時点で使用できます。
Public Class Demo {Public Int Age;名前は「 + name +」、「 + age + "year") ();
実行結果:
ウェブサイトの名前はWeixueyuanで、3年間確立されています。
正式なパラメーターの範囲はメソッド本体全体であり、ローカル変数です。 DEMO()では、これが使用されていない場合、正式なパラメーターとメンバー変数が複製されます。 say()では、メンバー変数の範囲がインスタンス全体であるため、これを使用しません。もちろん、これは追加できます。
public void saks(){system.out.println( "ウェブサイトの名前は" + this.name + "、" + this.age + "year");}
Javaは、すべてのメンバー変数とメンバーメソッドをデフォルトで関連付けているため、これを使用することは場合によっては冗長です。
オブジェクトをメソッド名として初期化します
つまり、このクラスの他のコンストラクターを呼び出すことと同等です。これは、コンストラクターの最初の文として使用する必要があります。例は次のとおりです。
Public Class Demo {public int age; public void say(){system.out.println( "Webサイトの名前は" + name + "、" + age + "year") Demo obj = new demo();
実行結果:
ウェブサイトの名前はWeixueyuanで、3年間確立されています。
注目に値します:
別のコンストラクターがコンストラクターで呼び出され、コールアクションを開始位置に配置する必要があります。
コンストラクターは、コンストラクター以外のいずれの方法でも呼び出すことはできません。
コンストラクター内で呼び出すことができるコンストラクターは1つだけです。
上記のコードには、メソッドのオーバーロードが含まれます。つまり、Javaでは、パラメーターが異なる限り、同じ名前の複数のメソッドが表示されます。後続の章を説明します。
パラメーターとして渡されます
いくつかの完全に分離されたクラスでメソッドを呼び出す必要がある場合、現在のオブジェクトへの参照がパラメーターとして渡されます。例えば:
public class demo {public static void main(string [] args){b b = new b(new a());オブジェクト} public void print(){system.out.println( "Hello from A!")} a.print(); out.println( "hello b!")
実行結果:
a!からこんにちは、bからこんにちは!
匿名のオブジェクトは、名前のないオブジェクトです。オブジェクトは一度だけ使用されます。匿名オブジェクトとして使用できます - 新しいb(これ)を介してオブジェクトが存在し、名前のオブジェクトを使用して、そのメソッドを呼び出します。
Javaメソッド<br /> Javaでは、同じクラスの複数のメソッドが、パラメーターリストが異なる限り、同じ名前を持つことができます。
パラメーターリストは、パラメーターのタイプ、パラメーターの数、違いがある限り、パラメーターリストと呼ばれるパラメーターの署名とも呼ばれます。
オーバーロードは、オブジェクト指向の基本的な機能です。
以下の詳細な例を見てみましょう。
パブリッククラスデモ{//パラメーターのない通常のメソッドvoid test(){system.out.println( "no parameters"); .println( "a:" + a); B); args [] {demo obj.test(2,3);
実行結果:
パラメーターなし:2aおよびb:2 3double a:2.0
上記の例により、読者はオーバーロードが同じ関数名を持つ関数であるが、クラスで異なる正式なパラメーターを持つ関数であることがわかります。過負荷の結果は、プログラムブロックのコードの種類とメソッドを最小限に抑えることができます。
説明:
メソッドの過負荷に関するルール:
メソッドオーバーロードの実装:
メソッド名が同じ場合、コンパイラは、対応するメソッドが失敗する場合、通話方法のパラメーター、パラメータータイプなどと一致します。