java里,在Main函数里定义Static方法,然后调用,为什么会出错

如题所述

Main函数本质上也是个方法,只不过是程序的运行起点而已。你不能在方法里面定义方法啊,这样会有语法错误,js这种函数式编程语言是允许的,但是java不行的。所以你只能在main函数外写好,然后再调用这个静态方法。

记住一点:java方法内部不能定义方法

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-16
main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(string[]args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样testt=newtest();
然后才能调用test.main();
而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使test.main()可以直接被调用。

java里,在Main函数里定义Static方法,然后调用,为什么会出错
Main函数本质上也是个方法,只不过是程序的运行起点而已。你不能在方法里面定义方法啊,这样会有语法错误,js这种函数式编程语言是允许的,但是java不行的。所以你只能在main函数外写好,然后再调用这个静态方法。记住一点:java方法内部不能定义方法 ...

java方法中用static修饰变量为什么会出错?
static是用来修饰类成员的啊,不能用来修饰局部变量。static意为静态修饰符,也就是说一个类在编译的时候,这个类中用static修饰的变量就已经存在了,而public int m(){}是在类实例化的时候才会有的。如果将static放入public int m(){} 方法中,就得出结论:static int i存在了, public int m()...

java中什么时候该用static修饰方法?有什么好处或者坏处?
比如 person这个类里面有一个方法public static add(){} 那么可以直接用person类调用 person.add();当然也可以用下面的方法先出一个对象在调用也是可以 如果这个方法前面没有static 比如 public add(){} 那么先要person p=new person();然后用p.add();类加载器在加载这个类的时候就已经实例化了这...

Java中,在main方法中定义如下变量,结果报错,static float b = 10.98f...
方法内的变量为局部变量,它的作用域是整个方法体,也就是说,当方法结束的时候该变量的空间也会被释放掉。而使用static修饰的变量为类变量,一旦定义,常驻内存,这与局部变量的定义是矛盾的。望楼主采纳。

java static方法调用问题详解
static翻译过来是静态,这个玩意儿修饰的东西被加载到内存的时候,对象还没有,所以不能有this。B没问题。C只要访问权限允许,随便哪里的都可以调用。D只要在静态方法中创建了实例的对象,是可以通过实例调用实例方法的,不过D项所表达的意思似乎比较模糊 ...

java中main方法中的static函数不管是不是在最后,都会最先执行吗?_百度...
你应该知道,main方法是程序执行时的入口,但是因为有了static代码段,main方法可能不会执行到。main之所以为static的,在程序加载的时候就会分配内存,但是如果一个程序中还有其他的static方法,只能在static修饰的方法中调用。对于static代码段,也是程序执行时开始加载。我在涉及多线程应用遇到过这个问题,例如...

java static使用问题
后者是局部变量,只能在方法内引用该变量。再次,你要知道,main方法是一个静态方法,静态方法之前说过,是在类加载的时候就创建了,如果在方法里定义a,那方法里定义的变量a当然也同时加载了,程序就不会有问题。如果定义的是全局变量并且没有定义静态变量,那方法已经加载了,变量还没有被加载,那你说...

java里面,public static void main(String[] args) thr
首先呢,java虚拟机在运行时可能会产生一些异常,这些异常呢以异常对象一层层的往外抛,但最终还是要被程序解决的。throws Exception就是把运行时可见或不可见的异常抛给调用它的“人”(一般都是抛给调用它的方法。)这也是java的一种安全机制。其次呢,在main函数里,就不能在这么写了,当然这么写是...

Java提示main方法不能声明为静态。
} public static class Knowedge { public static void main(String[] args) { \/* 这里提示main()不能修饰为静态=,只有在静态类型或顶级类型中才能声明静态方法。 *\/ Tree most = new Tree("世界爷", 2000, 1000); System.out.println(most.Talk()); } }} 或者...

java含有main函数的类的构造方法执行的疑问?
1、含有main函数的类的构造方法为什么没有被执行?答:因为你没有构造该类的实例。只有在构造类的实例时才会请求类的构造方法。2、包含main函数的类可否被实例化?答:可以。类可否被实例化跟类的内容无关,只需要参考该类的定义,只有虚基类不可被实例化(当然没有访问权限的更不可能)。3、开始做...

相似回答