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的基礎還很薄弱,對類的結構了解的很浮淺。建議看看教材上關於類的介紹。