2016-08-19 58 views
0

我是java新手。 我正面臨類聲明,因爲我的main是一個靜態類。如果我刪除靜態它將返回沒有主類。 所以我所有的變量傳遞不能執行,我試過Google它,我一直沒有運氣。這就是我在這裏發佈的原因。 由於編譯時出現Java靜態主錯誤

package javaapplication2; 

import java.security.MessageDigest; 
import java.sql.CallableStatement; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 

public class JavaApplication2 { 

    private void outluck() { 

    } 
public interface DbType { 

    public void mySQL(); 

    public void microsoftSQLServer(); 

} 

public static void main(String[] args) { 
    outluck(); <--- Error 

    } 

public String Encrypt(String s) { 

} 

public String hehe(String ooo){ 

String x=""; 
    try { 
// 
} 
} catch (SQLException ex) { 
    } 
     return x; 
} 

public class Database implements DbType { 
public void 1() 
public void 2() 
public void 3() 
public void 4() 

} 
} 

錯誤是:

非靜態方法outluck()不能從一個靜態內容被引用。

我試圖使它非靜態,但我仍然有錯誤。數據庫類是我的數據庫連接類。

hehe類用於對db進行查詢,然後獲取數據並將其傳遞給 加密函數以更新數據庫。

+0

@KevinEsche,但它與我的主要功能相沖突。我甚至檢查過這個帖子。 – Jeev

+0

是的,但你的問題基本上說:「我不知道'靜態'的含義是什麼,那麼爲什麼不工作,如果我拋出'靜態'每一個生成一個編譯錯誤,不beeing靜態'」。 – SomeJavaGuy

+0

當你得到一個錯誤,谷歌你得到的確切的錯誤,並有一個很大的機會,你會得到你的答案。當您發佈錯誤時,請發佈確切的複製錯誤。不要重複輸入錯別字。 –

回答

3

您需要先實例化對象。

new JavaApplication2().outluck(); 

靜態方法屬於類。非靜態方法屬於對象(I want to know the difference between static method and non-static method)。

+0

謝謝tomek的幫助,當我嘗試編譯它。 返回的錯誤是: 錯誤:無法加載驅動程序類! C:\ Users \ Jeeva \ AppData \ Local \ NetBeans \ Cache \ 8.1 \ executor-snippets \ run.xml:53:Java返回:1 BUILD FAILED(總時間:0秒) – Jeev

+0

看這裏:http:// stackoverflow.com/questions/33734791/every-java-program-i-try-to-start-shows-error – Tomasz

+0

Tomek,所以這不是我的代碼問題?唷感謝的人。我一直在混淆谷歌,我沒有得到那個職位。 – Jeev

0

非靜態參數和方法需要用對象調用。

嘗試創建一個對象JavaApplication2並調用該方法。

JavaApplication2 obj = new JavaApplication2(); 
    obj.outluck(); 
+0

感謝兄弟的協助,但是當我編譯我也得到這個錯誤: 運行: 錯誤:無法加載驅動程序類! C:\ Users \ Jeeva \ AppData \ Local \ NetBeans \ Cache \ 8.1 \ executor-snippets \ run.xml:53:Java返回:1 BUILD FAILED(總時間:0秒) – Jeev