![](/img/trans.png)
[英]Calling non-static method in static method in Java (Non-Static Variable Error)
[英]calling non-static method without instance variable
我試圖找出下面的代碼。 ImageIcone
根據Java API稱為“非靜態方法” getImage()
,沒有任何實例變量:
public void paintComponent(Graphics g) {
Image img = new ImageIcon("imgtest.jpg", "description...").getImage();
g.drawImage(img,3,4,this);
}
這個
new ImageIcon("imgtest.jpg", "description...")
創建一個實例。 在該實例上調用getImage()
方法,然后對該實例的所有引用都會丟失。 如果該對象不可訪問,則可以對其進行垃圾回收。
請記住,調用實例方法所需要做的只是一個解析為對象引用的表達式。 引用類型的變量就是這樣一個表達式。 構造函數調用是另一個這樣的表達。 具有某種引用類型的返回類型的方法的調用也就是這樣的表達式。
您不需要“實例變量” 。 您只需要一個實例 , new ImageIcon("imgtest.jpg", "description...")
是該實例。
在您的代碼中,您正在使用代碼new ImageIcon("imgtest.jpg", "description...")
創建ImageIcon類的匿名對象。 由於您將來將不再使用該對象,因此您選擇創建一個匿名對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.