[英]Java can not find method of class
我正在嘗試調用自制的“ Filter”類的方法,但是編譯器找不到該方法。
這有點棘手,因為我在一切似乎都很好的Eclipse中編寫了代碼。 但是我必須將我的代碼復制到另一個軟件中並在那里進行編譯。 另一方面,此編譯器找不到我的方法。
我認為Eclipse編譯器可能“允許”更多我什至不知道的錯誤。 然而,另一個編譯器卻與之抗爭。
這是“其他”編譯器作為錯誤代碼輸出的內容:
C:\Program Files\Enomic\enomic-server\data\rules\testcompileboehmch\CodeTest.java:77: error: cannot find symbol filt.setHasRemoved(true);
symbol: method setHasRemoved(boolean)
location: variable filt of type tms.Filter
我不知道為什么我的課不正確。 如上文所述,在日食中一切正常。
CodeTest類(縮減至重要部分):
package tms;
import tms.Filter;
import java.util.*;
Filter filt = new Filter();
filt.setHasRemoved(true);//cannot be found
我的過濾器類:
package tms;
import java.util.ArrayList;
import java.util.List;
public class Filter {
private List<Object> remainingList;
private List<Object> removedList;
private Object typ;
private boolean hasRemoved;
public Filter()
{
this.remainingList = new ArrayList<Object>();
this.removedList = new ArrayList<Object>();
this.typ = new Object();
this.hasRemoved = false;
}
public Filter(List<Object> remaining, List<Object> removed, Object typ, boolean hasRemoved)
{
this.remainingList = new ArrayList<>();
if(remaining != null)
{
this.remainingList.addAll(remaining);
}
this.removedList = new ArrayList<>();
if(removed != null)
{
this.removedList.addAll(removed);
}
this.typ = typ;
this.hasRemoved = hasRemoved;
}
//Set-Methoden
public void setRemainingList(List<Object> list)
{
this.remainingList.clear();
this.remainingList.addAll(list);
}
public void setRemovedList(List<Object> list)
{
this.removedList.clear();
this.removedList.addAll(list);
}
public void setTyp(Object val)
{
this.typ = val;
}
public void setHasRemoved(boolean val)
{
this.hasRemoved = val;
}
//Get-Methoden
public List<Object> getRemainingList()
{
return this.remainingList;
}
public List<Object> getRemovedList()
{
return this.removedList;
}
public Object getTyp()
{
return this.typ;
}
public boolean getHasRemoved()
{
return this.hasRemoved;
}
}
我真的不知道為什么這行不通。 我看不到任何錯誤嗎?
這里:
C:\\ Program Files \\ Enomic \\ enomic-server \\ data \\ rules \\ testcompileboehmch \\ CodeTest.java:77:錯誤:找不到
和
package tms;
關鍵是:java編譯器期望文件夾結構類似於包結構。
因此,您的問題是您的類在名為tms
的目錄中不存在。
日食在這里也很奇怪。 從某種意義上說:例如,您想在這里或那里閱讀。
不,eclipse java編譯器與其他產品的工作原理幾乎沒有什么微妙的區別。 放心:您作為新手遇到這種情況的機會幾乎為零。 您的問題是由於您不了解如何編譯Java文件的事實引起的。 (這是您開始使用諸如eclipse之類的IDE學習編程的缺點-IDE向您隱藏了許多這些東西。然后,當您需要它時-您不知道發生了什么。)
通過重命名我的過濾器類,我能夠解決問題。 看起來編譯器從未完全知道我要指的是哪個類。 不過,感謝您的所有幫助,您使我朝着正確的方向前進。
提醒自己(也許還有其他人): 提出自己的班級名稱!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.