私はまだJavaでメソッドについて学習しており、インスタンスメソッドをどのように使用するのか正確に疑問に思っていました。次のようなことを考えていました。
public void example(String random) {
}
ただし、これが実際にインスタンスメソッドなのか、他のタイプのメソッドなのかはわかりません。誰かが私を助けてくれませんか?
静的メソッドでない場合は、インスタンスメソッドです。それはどちらか一方です。はい、あなたの方法は、
public void example(String random) {
// this doesn't appear to do anything
}
はインスタンスメソッドの例です。
について
インスタンスメソッドをどのように使用するのか正確に考えていました
クラスのインスタンスであるオブジェクトを作成し、インスタンスのインスタンスメソッドを呼び出します。つまり、
public class Foo {
public void bar() {
System.out.println("I'm an instance method");
}
}
これは次のように使用できます:
Foo foo = new Foo(); // create an instance
foo.bar(); // call method on it
class InstanceMethod
{
public static void main(String [] args){
InstanceMethod obj = new InstanceMethod();// because that method we wrote is instance we will write an object to call it
System.out.println(obj.sum(3,2));
}
int f;
public double sum(int x,int y){// this method is instance method because we dont write static
f = x+y;
return f;
}
}
* インスタンスメソッド*はオブジェクトに関連付けられたメソッドであり、各インスタンスメソッドは、現在のオブジェクトを参照する非表示の引数で呼び出されます。例えばインスタンスメソッドで:
public void myMethod {
// to do when call code
}
インスタンス変数名オブジェクトには、インスタンス変数として実装される属性があり、その存続期間を通じてそれが保持されます。インスタンス変数は、メソッドがオブジェクトで呼び出される前、メソッドの実行中およびメソッドの実行完了後に存在します。クラスには通常、クラスの特定のオブジェクトに属するインスタンス変数を操作する1つ以上のメソッドが含まれています。インスタンス変数は、クラス宣言の内部で宣言されますが、クラスのメソッド宣言の本体の外側で宣言されます。クラスの各オブジェクト(インスタンス)には、クラスの各インスタンス変数の独自のコピーがあります。
インスタンスメソッドとは、メソッドにアクセスするためにクラスのオブジェクトを作成する必要があることを意味します。一方、静的メソッドの場合、そのオブジェクト/インスタンスのプロパティではなく、クラスのプロパティであるため、クラスのインスタンスを作成せずにアクセスされます。ただし、静的メソッドは静的変数にのみアクセスでき、インスタンスメソッドはクラスのインスタンス変数にアクセスできることに注意してください。静的メソッドと静的変数は、メモリを占有するオブジェクトを宣言する必要がないため、メモリ管理に役立ちます。
インスタンスメソッドと変数の例:
public class Example {
int a = 10; // instance variable
private static int b = 10; // static variable (belongs to the class)
public void instanceMethod(){
a =a + 10;
}
public static void staticMethod(){
b = b + 10;
}
}
void main(){
Example exmp = new Example();
exmp.instanceMethod(); // right
exmp.staticMethod(); // wrong..error..
// from here static variable and method cant be accessed.
}