Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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 如何调用非静态方法?_Java - Fatal编程技术网

Java 如何调用非静态方法?

Java 如何调用非静态方法?,java,Java,我写这段代码是为了确定一个数字是偶数还是奇数,如果是偶数,它将返回true,如果不是则返回false。给定的语法是publicbooleaniseven(intn),因此我无法更改它 class Main { // Given public boolean isEven(int n) { // Given if(n % 2==0){// I wrote from this return true; }else{ return false; } }

我写这段代码是为了确定一个数字是偶数还是奇数,如果是偶数,它将返回true,如果不是则返回false。给定的语法是publicbooleaniseven(intn),因此我无法更改它

class Main { // Given
  public boolean isEven(int n)   { // Given
   if(n % 2==0){// I wrote from this
   return true;
   }else{
     return false;
   }

  }
  isEven(2); //To this

}
当我尝试运行此操作时,会出现以下错误:

exit status 1
Main.java:14: error: invalid method declaration; return type required
  isEven(2);
  ^
Main.java:14: error: illegal start of type
  isEven(2);
         ^
2 errors
要调用实例方法(非
静态的
),您需要一个要调用的实例:

class Main {
    public boolean isEven(int n) {
        return n % 2==0;
    }
    public static void main(String[] args) {
        Main obj = new Main();
        System.out.println(obj.isEven(2));
    }
}

还注意到将代码简化为单个语句。

您在类体的中间抛出了一个随机方法调用<代码> ISEnter(2)。它不属于那里。你能深入了解一下为什么要使用Main obj=new Main()?
new Main()
创建一个类的实例,这个类的名称(有点混淆)是
Main
。让方法
isEven()
也是静态的不是更好吗?是的,但OP问如何调用非静态方法,所以答案确实准确地回答了这个问题。