導航:首頁 > 編程語言 > java無法從靜態上下文中引用非靜態

java無法從靜態上下文中引用非靜態

發布時間:2022-09-06 01:14:26

1. java代碼編譯提示無法從靜態上下文中引用非靜態方法

Wifi wifi=phone;
Wifi.open();//這里調用方法用的是對象,所以用wifi,小寫的wif
Wifi.close();//這里一樣改成小寫就好了

因為你解開了中定義的是非靜態方法,雖然你實現類重寫了所有方法,但是你直接使用Wifi調用也就是靜態main方法,調用子類的非靜態方法,就會報錯的「無法從靜態上下文中引用非靜態 方法
」,所以Wifi改成wifi(你定義的對象全部小寫的)

2. java中無法從靜態上下文中引用非靜態

computer 類,如果被像代碼中放在Demo1類的{}括弧中,就屬於動態實例子類,不能放在static靜態的main函數中。需要改成靜態類的 static class computer{}

computer 類,如果不放在Demo1類的{}括弧中,放在Demo1外面,屬於同源碼文件的非公開類,也可以在main中使用,則需要在main(){}函數後再加一個}結束掉Demo1類

3. java ,為什麼無法從靜態上下文中引用非靜態方法

因為編譯器不知道那個方法在哪,兩種解決辦法,一種加static修飾,這樣在程序運行時就會被載入入內存,另一種創建對象,然後調用對象的方法,如
public static void main(String args[]){
TextLinerSearch t = new TextLinerSearch ();
t.linearSearch(list,-3);
}

4. Java中 無法從靜態上下文引用非靜態方法

靜態方法中無法直接調用非靜態方法的。 你可以先new出來circle 對象。

classhauptprogramm{
publicstaticvoidmain(String[]args){
circlekr=newcircle();
circle.readCircle();
System.out.println(kr);
}
}

還有 記得以後類名都要大寫

5. java中無法從靜態上下文引用非靜態方法

Java是面向對象的語言,所以我希望你理解以下幾點 1.TestArray是一個對象類,print方法是TestArray類下的一個方法。 2.要調用一個對象類的方法,有兩種方法。 (1)是新建一個對象,然後調用該對象的方法. 調用方法:new TestArray().print() (2)該方法是public的,static。 調用方法:TestArray.print() 靜態方法的寫法:public static void print()...

6. 關於java的無法從靜態上下文中引用非靜態 方法

由於tostring()方法是非靜態的,故不能直接通過類名引用,上面的這句代碼:
system.out.println(course.tostring());
改為
system.out.println(cs.tostring());
即可。
有問題歡迎提問,滿意請採納,謝謝!

7. JAVA中無法在靜態上下文中引用非靜態變數,求解答TAT

x變數是類read的成員,在靜態函數(也就是當前的主函數中)中是不能訪問的,為什麼呢,因為,成員變數x沒有內存空間,一個沒有內存的變數是訪問不了的,所以才出了這種問題。

怎麼做呢,先實例化這個類,就是new read(),這樣為x分配了內存,然後通過訪問符號"."來訪問這個成員變數:
read r=new read();
r.x=100;

8. JAVA無法從靜態上下文中引用非靜態變數

public class Person
{
static int age = 20;
public static void main(String[] args)
{
Person person = new Person();
System.out.println(Person.age);
}
} 這樣就可以了,錯誤描述已經很清楚了,不能從靜態上下文中引用非靜態變數

9. JAVA無法從靜態上下文中引用非靜態 變數 this

內部類是動態的,也就是開頭以public class開頭。而主程序是public static class main。在Java中,類中的靜態方法不能直接調用動態方法。只有將某個內部類修飾為靜態類,然後才能夠在靜態類中調用該類的成員變數與成員方法。所以在不做其他變動的情況下,最簡單的解決辦法是將public class改為public static class.

10. java 無法從靜態上下文中引用非靜態

你加一個Size類的構造函數,代碼如下:

publicsize(inta,intb){
this.a=a;
this.b=b;
}

然後在Main方法修改為:
publicstaticvoidmain(String[]args)throwsFileNotFoundException,IOException{
Filepicture=newFile("C:/Tomcat6.0/webapps/jspwu/image/3.jpg");
BufferedImagesourceImg=ImageIO.read(newFileInputStream(picture));sizes=newsize(sourceImg.getWidth(),sourceImg.getHeight());

}

當然上面的修改只是准對你這個問題的,你能提出這個問題說明你Java的基礎還很薄弱,對類的結構了解的很浮淺。建議看看教材上關於類的介紹。

閱讀全文

與java無法從靜態上下文中引用非靜態相關的資料

熱點內容
linux如何升級php版本升級 瀏覽:841
二級程序員c語言難度 瀏覽:351
批處理編譯qt 瀏覽:65
鐵友app怎麼查詢機票訂單 瀏覽:197
myeclipselinux破解版 瀏覽:417
批處理命令語法不正確 瀏覽:889
pdf合並成一個pdf在線 瀏覽:383
柱加密區構造要求 瀏覽:514
地板木龍骨標准跟加密區別 瀏覽:150
解壓放鬆的好地方河南 瀏覽:965
搜狗怎麼移動到文件夾 瀏覽:617
文件自動選擇到文件夾 瀏覽:794
贈送的app怎麼在ipad下載 瀏覽:508
頸椎解壓後神經恢復 瀏覽:849
怎麼看app訂閱扣費 瀏覽:314
linux系統的負載均衡 瀏覽:419
遇到挫折解壓視頻 瀏覽:778
什麼指令看伺服器運行負載 瀏覽:84
因碩智能門鎖卡片是加密的么 瀏覽:336
為什麼會伺服器不可用 瀏覽:290