2011-10-14 8 views

答えて

0

、静的メソッドではreturn instance.method();

0

を行い、そのクラスのインスタンスを作成します非静的メソッドがあるクラスのインスタンスを作成し、作成されたオブジェクトの非静的メソッドを呼び出します。

非静的メソッドは他の静的ではない静的メソッドを呼び出すことができ、クラスインスタンスへの参照( "this")も使用できるため、他の方法はありません。それは、クラスのインスタンスで呼び出すことができます。

パブリッククラスA {

public int NonStaticMethodA() { 
    int val; 
    ..... 
    return val; 
} 
public int NonStaticMethodB() { 
    int val=this.NonStaticMethodA(); 
    ..... 
    return val; 
} 

}

パブリッククラスB {

public static void StaticMethod() { 
    A a = new A(); 
    int value = a.NonStaticMethodB(); 
    ..... 
} } 
0

あなたの場合非静的メソッドを呼び出す場合、そのメソッドを含むクラスのインスタンスに対して行う必要があります。

5

非静的メソッドの償還語は、インスタンスメソッドです。これは、そのクラスのインスタンスに対してのみ呼び出すことができるためです。したがって、必要なのはnewで作成されたクラスのインスタンスです。インスタンスメソッドを呼び出すことができます。

Javaチュートリアルでintroduction to OO conceptsを読むことをお勧めします。

2

それはたぶん、あなたはシングルトンパターンたい(でも試みが良いでしょう)あなたが任意のコードなしでやろうとしているかを知るのは難しいですが、...

:その後、

public class MyClass { 
    private static final MyClass INSTANCE = new MyClass(); 
    private MyClass() {} 
    public static MyClass getInstance() { 
     return INSTANCE; 
    } 
    public int someMethod() { 
     // return some value; 
    } 
} 

0

静的メソッド内で他のオブジェクトのオブジェクトが使用できる場合は、そのオブジェクトのメソッドを呼び出すことができます。

オブジェクトは静的メソッド内で作成したり、パラメータとして渡したり、静的フィールドにすることができます。

関連する問題