是否有任何技術可以在某些其他類的靜態方法中使用來自某個類的非靜態方法的返回值?將非靜態返回值併入靜態方法?
0
A
回答
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
很難知道你想,沒有任何代碼(甚至企圖將是一件好事)做什麼,但是......
也許你想Singleton模式:
public class MyClass {
private static final MyClass INSTANCE = new MyClass();
private MyClass() {}
public static MyClass getInstance() {
return INSTANCE;
}
public int someMethod() {
// return some value;
}
}
然後從其他類:
public class TheirClass {
public static int whatever() {
return MyClass.getInstance().someMethod();
}
}
0
只要其他類型的對象是靜態方法中提供,你可以調用該對象的方法。
該對象可以在靜態方法中創建,作爲參數傳遞給它,也可以是靜態字段。
相關問題
- 1. 如何從靜態方法輸入非靜態方法
- 2. 靜態/非靜態方法問題
- 3. 泛型方法:靜態與非靜態
- 4. 靜態和非靜態方法工作
- 5. 靜態/非靜態方法參考
- 6. powermockito靜態和非靜態方法鏈
- 7. 不能使靜態方法非靜態
- 8. 非靜態方法說它的靜態?
- 9. 靜態和非靜態方法
- 10. 靜態與非靜態方法2
- 11. 方法參考靜態與非靜態
- 12. 靜態參照非靜態方法getBaseContext()
- 13. 靜態與非靜態方法
- 14. 非靜態的靜態方法
- 15. 非靜態調用靜態方法
- 16. 靜態類方法沒有返回值
- 17. 靜態方法返回空值
- 18. 將靜態方法放入靜態類並將實例方法放入靜態類中有什麼區別?
- 19. 通過靜態和非靜態方法訪問靜態屬性?
- 20. 從靜態方法更改非靜態值
- 21. 從靜態方法訪問非靜態枚舉值
- 22. 如何在靜態方法中訪問靜態和非靜態方法
- 23. 靜態方法或使用靜態字段的非靜態方法
- 24. Java錯誤:靜態方法無法引用非靜態方法
- 25. 靜態靜態方法?
- 26. 從非靜態類動態調用非靜態方法的最簡單方法?
- 27. 非靜態方法問題
- 28. 非靜態方法'onResume'Android Studio
- 29. 非靜態方法setOnItemSelectedListener
- 30. 在靜態web方法裏面調用非靜態方法