Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从静态上下文引用非静态方法isSpam(MailItem)_Java_Bluej - Fatal编程技术网

Java 无法从静态上下文引用非静态方法isSpam(MailItem)

Java 无法从静态上下文引用非静态方法isSpam(MailItem),java,bluej,Java,Bluej,可能重复: 我试图访问另一个类的isSpam方法,但它不允许我访问。它一直说非静态方法不能被引用。能帮我一点忙吗? 这是我的isSpam代码和要检查的代码 publicsvoidpost(邮件项目) if(SpamChecker.isSpam(项目)){ } 字符串名称=item.getTo(); 如果(!items.containsKey(名称)){ items.put(name,new ArrayList()); } items.get(name).add(item); } 这是Spam

可能重复:

我试图访问另一个类的isSpam方法,但它不允许我访问。它一直说非静态方法不能被引用。能帮我一点忙吗? 这是我的isSpam代码和要检查的代码

publicsvoidpost(邮件项目)

if(SpamChecker.isSpam(项目)){
}
字符串名称=item.getTo();
如果(!items.containsKey(名称)){
items.put(name,new ArrayList());
}
items.get(name).add(item);
}
这是SpamChecker班级的isSpam


公共布尔isSpam(邮件项)
{
if(item.getSubject().toLowerCase().startsWith(“垃圾邮件”)){

返回true; }else if(item.getSubject().toLowerCase()包含(“在线药房”)){ 返回true; }else如果(item.getSubject().toLowerCase()包含(“廉价伟哥”)){ 返回true; }else如果(item.getSubject().toLowerCase()包含(“通用伟哥”)){ 返回true; }else如果(item.getSubject().toLowerCase()包含(“假手表”)){ 返回true; }else if(item.getSubject().toLowerCase()包含(“副本监视”)){ 返回true; }否则{ 返回false; } }

写为:

SpamChecker spamChecker = new SpamChecker();
if (spamChecker.isSpam(item)) {
   // <--- your logic
}
SpamChecker SpamChecker=new SpamChecker();
if(spamChecker.isSpam(项目)){

//Dantuch或Yogendra的答案很好,或者您也可以将方法isPam()设置为静态。

根据我的理解
isSpam()
方法是一种非静态的方法,因此要访问它,请创建类的实例

例如:

SpamChecker spamCheck = new SpamChecker();

if (spamCheck.isSpam(item)){



}
SpamChecker spamChecker = new SpamChecker();
if (spamChecker.isSpam(item)) {
   // <--- your logic
}
SpamChecker spamCheck = new SpamChecker();

if (spamCheck.isSpam(item)){



}