-3
A
回答
1
main
是一種靜態方法。 public static void main(String[] args)
。
從靜態方法或阻止任何其他靜態方法以及靜態實例的訪問。如果你想訪問非靜態方法或實例,你必須創建對象並通過引用訪問。
public class Test{
public static void main(String[] args){
print();// static method call
Test test = new Test();
test.print();// non static method call
}
public void print() {
System.out.println("Hello non static");
}
public static void print() {
System.out.println("Hello static");
}
}
+0
可能想擴大 – arshajii
1
您需要類的實例訪問(調用)非靜態方法從靜態方法。非靜態方法或實例方法被限制在一個類的不存在。
下面是簡單的例子,其描述它:
class Test {
public void nonStaticMethod() {
}
public static void main(String[] args) {
Test t = new Test(); //you need to create an instance of class Test to access non-static methods from static metho
t.nonStaticMethod();
}
},創建對象時
0
常規方法被實例化,但是這不是必需的用於static
方法。如果您使用的是static
方法,則不能保證非靜態方法已經實例化(即,可能沒有創建Object
),所以編譯器不允許它。
3
public class Foo {
public static void main(String[] args) {
Foo foo = new Foo();
foo.print();
}
public void print() {
System.out.println("Hello");
}
}
相關問題
- 1. 的Java非靜態方法不能從靜態上下文
- 2. 非靜態方法不能從靜態上下文中引用?
- 3. 非靜態方法()不能從靜態上下文
- 4. 非靜態方法不能從靜態上下文中引用?
- 5. 非靜態方法toString不能從靜態上下文引用
- 6. 非靜態方法不能從靜態上下文中引用
- 7. 非靜態方法...不能從靜態上下文
- 8. 非靜態方法不能從靜態上下文
- 9. 非靜態方法不能從靜態上下文中引用
- 10. 非靜態方法不能從靜態上下文中引用
- 11. 非靜態方法不能從靜態上下文中引用
- 12. 非靜態方法不能從靜態上下文中引用
- 13. 不能從靜態上下文中引用不同類的非靜態方法
- 14. 不能使靜態方法非靜態
- 15. 從非靜態的上下文調用靜態方法
- 16. 從靜態上下文中訪問非靜態方法
- 17. 如何從靜態上下文中引用非靜態方法
- 18. 非靜態方法compute(int)不能從靜態上下文中引用
- 19. 非靜態方法getIntExtra(java.lang.String,int)不能從靜態上下文中引用嗎?
- 20. BlueJ錯誤:非靜態方法(OOPoint)不能從靜態上下文中引用
- 21. 如何解決非靜態方法不能從靜態上下文中引用?
- 22. 非靜態方法getAssets不能從靜態上下文中引用(Java)(Android)
- 23. 非靜態方法start()不能從靜態上下文中引用
- 24. 非靜態方法getText()不能從靜態上下文中引用
- 25. (Another)「非靜態方法不能從靜態上下文中引用」問題
- 26. Zuul的世界:非靜態方法getCurrentRoom()不能從靜態上下文
- 27. 錯誤:非靜態方法不能從靜態上下文中引用
- 28. 獲取非靜態方法不能從靜態上下文引用的錯誤
- 29. Java非靜態方法playCompletely不能從靜態上下文中引用
- 30. 非靜態方法move(int,int)不能從靜態上下文引用
顯示代碼... –
而你的問題是什麼?此外,這是一個相當基本的問題 - 從這裏開始:http://docs.oracle.com/javase/tutorial/。請在Google上提供代碼 – home
搜索,並從一個很好的教程開始。 Oracle教程將是一個很好的起點。 –