第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java找不到公共靜態(tài)方法

Java找不到公共靜態(tài)方法

叮當貓咪 2022-10-07 19:32:40
我正在開發(fā)一個程序,其中創(chuàng)建了兩個列表,并且必須對它們進行比較以查找是否有兩個相同的 RECURS。我正在測試它是否有效(并且必須使用這些方法)但我一直遇到同樣的問題;找不到標志。public class Duplicate {public Duplicate(){}; static ArrayList<Recurs> findDuplicate(ArrayList<Recurs> l1, ArrayList<Recurs> l2){    ArrayList<Recurs> l3 = new ArrayList<>();           for(int i=0; i<l1.size(); i++){        for(int j=0; j<l2.size();j++){        if(l2.get(i).equals(l1.get(j))){            l3.add(l1.get(i));            }          }    }   return l3;   } }這段代碼應(yīng)該可以工作。順便說一句,我編寫了一個名為 Recurs 的類,據(jù)說它也可以工作(我做了另一個測試,在我創(chuàng)建了一個 equals 方法的地方工作正常)?,F(xiàn)在問題來了。public class Test {    public static void main (String[] args){        Recurs o = new Recurs(3, "a");         Recurs e = new Recurs(2, "b");        Recurs m = new Recurs(4, "a");         Recurs n = new Recurs(2, "b");        ArrayList<Recurs> l1= new ArrayList<>();             l1.add(o);            l1.add(e);        ArrayList<Recurs> l2= new ArrayList<>();             l2.add(m);            l2.add(n);        ArrayList<Recurs> l3 = new ArrayList<>(findDuplicate(l1, l2))    }}我創(chuàng)建了一個測試,它應(yīng)該向我展示這部分正在工作,但我在最后一行代碼遇到了問題,因為它告訴我它找不到 findDuplicate。我是使用 Java 的新手,如果有人發(fā)現(xiàn)問題,他們能否指出它發(fā)生的原因?
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

靜態(tài)方法“屬于”它們所編寫的類。

這里:

 findDuplicate(l1, l2)

嘗試在 Test 類中調(diào)用(靜態(tài))方法!因為它是一個不合格的調(diào)用,所以編譯器會在發(fā)生調(diào)用的類(即Test)內(nèi)部查找。findDuplicate()但是Test類中沒有方法!

相反,它來自 Duplicate 類,因此您需要:

Duplicate.findDuplicate(l1, l2)

(或者,您可以對該方法進行靜態(tài)導入,但對于新手學習的東西,我建議避免這樣做)

當然,該方法也必須對您的 Test 類可見。因此,要么這兩個類應(yīng)該在同一個包中,要么正如各種評論中提到的那樣,該方法需要public修飾符。


查看完整回答
反對 回復(fù) 2022-10-07
?
蝴蝶不菲

TA貢獻1810條經(jīng)驗 獲得超4個贊

如果沒有任何修飾符,您的方法將只能被它自己的類、子類和包訪問。為了使您的測試可以訪問它,您可以將其公開,但習慣上測試類通過添加與他們測試的類共享相同的包

package reverse.domain.name.app;

在你的班級和你的測試班之上。

其次,您的方法是靜態(tài)的,這意味著它與類相關(guān)聯(lián),而不是與它的實例相關(guān)聯(lián)。這意味著你應(yīng)該通過它的類名來引用它:

Duplicate.findDuplicate()


查看完整回答
反對 回復(fù) 2022-10-07
  • 2 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號