簡體   English   中英

如何從一個類調用另一個方法?

[英]How can I call a method from one class to another?

所以我在這堂課上

Public class Java2MySql {
    public static void main(String[] args) {
        Java2MySql j = new Java2MySql();
        ...
    }
    public static String selectValue() {
        BlackBox blackBox = new BlackBox();
        ...
        switch(case) {
            case "C00":
                caixaNegre.waste();
                break;
        }
    }

還有這個班

public class CaixaNegre{
    public static String waste(){
    ...
    }
}

問題是我認為這是正確的,NetBeans不會顯示錯誤,但是一旦我嘗試在終端中運行它以對數據庫進行測試,它將顯示以下消息:

Java2MySql.java:50: error: cannot find symbol
    CaixaNegre caixaNegre = new CaixaNegre();
    ^
symbol:   class CaixaNegre
location: class Java2MySql

為什么?

類方法和對象方法之間有區別。 對象是類的實例。 因此,要能夠調用對象方法,首先需要該類的一個實例(一個對象)。

您的waste()方法是靜態方法,這意味着它成為類方法。 為了調用類方法,請使用類的全名(區分大小寫)+方法名。

在這種情況下,您應該使用:

CaixaNegre.waste();

代替

caixaNegre.waste();

記住:所有靜態的東西都屬於這個類。 所有不是所有內容都屬於該類的實例。

但是,最好使類成為對象實例,而不是讓所有內容都是靜態的。 這樣,您就可以以面向對象的方式進行編程。

我不確定您在做什么,因為出現錯誤,它表明您正在嘗試創建CaixaNegre類的實例。 在這種情況下,您必須在方法浪費中刪除static關鍵字。

至於您的錯誤:CaixaNegre類是否在其他程序包中? 如果是這樣,您導入了嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM