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.
}
}