java里为啥主函数前面要加static修饰

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里为啥主函数前面要加static修饰相关的知识,希望对你有一定的参考价值。

参考技术A 因为对于非静态成员函数而言,默认情况下,参数列表中都会有一个this指针,例如fun(自定义参数),实际上编译后就变成这样类型:fun(自定义参数,某个类
*
this)。这样编译就会出错,多了一个参数,所以这个函数就不能作为线程函数了。加上static修饰之后,类的成员函数就不会加上默认this了,所以符合调用规定。

为啥加了个static就报错?

public class test4
int a;
public void main(String[] agrs)
for(int i=0;i<10;i++)
a+=1;

System.out.print(a);



//错误代码:仅仅因为多加了个"static"
public class test4
int a;
public static void main(String[] agrs)
for(int i=0;i<10;i++)
a+=1;

System.out.print(a);

加static表示静态方法只能调用静态成员 参考技术A public class test4
public static void main(String[] agrs)
for(int i=0;i<10;i++)
int a;
a+=1;

System.out.print(a);


这样就不会报错了吧

以上是关于java里为啥主函数前面要加static修饰的主要内容,如果未能解决你的问题,请参考以下文章

服务器main函数里消息主循环函数为啥不会卡死

java基础-main方法详解

单片机C语言中,中断子程序后面为啥要加interrupt这个单词?

C++中static函数类外定义的时候为啥不写static?

3.课上练习

C++_ static 的五种用法 __考题!!