Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.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 为什么我不能在main方法中创建一个方法_Java_Oop - Fatal编程技术网

Java 为什么我不能在main方法中创建一个方法

Java 为什么我不能在main方法中创建一个方法,java,oop,Java,Oop,您好,我是一个想创建成主方法? 这就是我想要的代码: import java.io.*; import java.util.Random; class input{ public static void main (String args[]){ void Randomises() { int writabledata; Random a=new Random(); writabledata=a.nextInt(); } }} Java不允许在方法中创建方法。这是一

您好,我是一个想创建成主方法? 这就是我想要的代码:

import  java.io.*;
import java.util.Random;
class input{
public static void main (String args[]){
 void Randomises() {
    int writabledata;
   Random a=new Random();
    writabledata=a.nextInt();

}
}}

Java不允许在方法中创建方法。这是一条通用规则,不特定于main方法。

您不能在Java中的方法中创建方法。
您可以将其作为类的附加方法,并将其称为form main。

也许您想要的是在类中创建附加的静态方法:

public final class MyCommand {
    private MyCommand() {
      //
    }

    private static void releaseTheCatsOfWar() {
        System.out.println("Meow!");
    }

    public static void main(String[] args) {
        releaseTheCatsOfWar();
    }
}
当然,最好是:

public final class MyCommand {
    private MyCommand() {
      //
    }

    private void releaseTheCatsOfWar() {
        System.out.println("Meow!");
    }

    public static void main(String[] args) {
        MyCommand that = new MyCommand();
        that.releaseTheCatsOfWar();
    }
}
publicstaticvoidmain不是一个类,它是类中的一个方法。顺便说一句,你的类是输入的,你应该用大写字母开始类名,就像输入一样,在其中你定义了方法main,你的程序就是从这个方法开始工作的。

虽然它完全没有意义,但是你最接近达到结果的方法是:

public class Main {

    private static interface MethodMaker{

        void randomise();

    }

    public static void main(String[] args) {

        MethodMaker methodMaker = new MethodMaker(){

            @Override
            public void randomise() {
                // DO SOMETHING

            }

        };

        methodMaker.randomise();

    }
}

您必须将方法放在main的外部,然后在main中调用它,如下所示:-

import  java.io.*;
import java.util.Random;
class input{
  public static void main (String args[]){

                Randomises();

  }

  public void Randomises() {
    int writabledata;
    Random a=new Random();
    writabledata=a.nextInt();

       }

 }

不能在方法中创建方法。这是规则。在Java中,你不能在方法内部创建方法。Java规范与大多数其他语言一样,你不能将方法放入其他方法中。@MrTi从技术上讲,我们谈论的是方法内部的方法,而不是类内部的方法,类内部的方法是在方法+1内部创建的,它是一个很好的方法名称!要使其工作,随机数必须是静态的。