Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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,我编写了这个类(用于打印数组列表),在其中我在main函数中创建了一个方法 它不起作用:我将函数设为static,并在main方法中声明了它,但它仍然不起作用。在main方法中,我在没有访问说明符的情况下创建了函数:但它仍然不起作用 您不能在main方法中声明一个方法吗 是否有任何方法可以在主方法内声明方法(除了在主方法外将其公开为静态) 公共类测试阵列{ 公共静态void main(字符串[]args){ //步骤1和2:声明/初始化数组变量 int[]数组1={2,3,5,7,11,13,1

我编写了这个类(用于打印数组列表),在其中我在
main
函数中创建了一个方法

它不起作用:我将函数
设为static
,并在
main
方法中声明了它,但它仍然不起作用。在main方法中,我在没有访问说明符的情况下创建了函数:但它仍然不起作用

您不能在
main
方法中声明一个方法吗

是否有任何方法可以在主方法内声明方法(除了在主方法外将其公开为静态)

公共类测试阵列{
公共静态void main(字符串[]args){
//步骤1和2:声明/初始化数组变量
int[]数组1={2,3,5,7,11,13,17,19};
int[]阵列2;
//步骤3:显示带有初始值的阵列1
系统输出打印(“array1 is”);
打印阵列(阵列1);
System.out.println();
//第四步:让array2参考array1
阵列2=阵列1;
//修改阵列2
阵列2[0]=0;
阵列2[2]=2;
阵列2[4]=4;
阵列2[6]=6;
//打印阵列1
系统输出打印(“array1 is”);
打印阵列(阵列1);
System.out.println();
静态void打印数组(int[]数组){
系统输出打印(“”);
}
}
不,您不能(直接*)在Java中的其他方法中定义方法(并且
main
方法在这里不是特例)

您要做的是将该方法与
main
放在同一个类中。如果
main
需要调用它而不创建类的实例,那么它需要是
静态的
,但不需要是
公共的


*但是,您可以用另一个方法中的方法声明一个匿名内部类。

在java中不能这样做。java使用类,它们封装了所有内容,甚至主方法-您可以将方法放入类中。

我想试试这段代码。它可能会起作用

package practice;

class MyThreads extends Thread 

{
    MyThreads() 
    {
        System.out.print(" MyThreads");
    }
    public void run() 
    {
        System.out.print(" bar");
    }
    public void run(String s) 
    {
        System.out.println(" baz");
    }
}
public class TestThread 
{
    public static void main (String [] args) 
    {
        Thread t = new MyThreads() 
        {
            public void run() 
            {
                System.out.println(" foo");
            }
        };
        t.start();
        System.out.println("out of run");
    }
}

在方法/块中定义的任何功能都不能在其外部访问

因为,正如我们所知,特性的范围结束于块/方法的末尾

因此,没有外部(方法之外)使用它

例如:

class Demo

{

       public static void main(String args[])

       {

       for(int i=0;i<10;i++) //for block

       {

           //.....

       }

       //outside of for loop

       System.out.println(i); // i can't be find symbol

       int sum()

       {

           int k=5;

       }

       //outside of sum()

       System.out.println(k); //won't get it.
   }

}
类演示
{
公共静态void main(字符串参数[])
{
对于(int i=0;i
class Demo

{

       public static void main(String args[])

       {

       for(int i=0;i<10;i++) //for block

       {

           //.....

       }

       //outside of for loop

       System.out.println(i); // i can't be find symbol

       int sum()

       {

           int k=5;

       }

       //outside of sum()

       System.out.println(k); //won't get it.
   }

}