java主函数为什么是静态的,java中的main函数为什么是静态的
各位老铁们好,相信很多人对java主函数为什么是静态的都不是特别的了解,因此呢,今天就来为大家分享下关于java主函数为什么是静态的以及java中的main函数为什么是静态的的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
java中的main函数为什么是静态的
非
静态
成员函数
在执行前必须先构造并
实例化
该函数所在的类。
如果允许非静态的main,那么
main函数
所在的类必须先进行实例化,
那么就需要再写个函数去实例化main所在的类,再调用main,这个实例化
代码
又写在哪呢?如果它也是非静态的,岂不是又要写个函数去实例化它所在的类嘛?
因此,JAVA语言就规定了main必须是静态的。
Java中的静态方法是什么
静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。
静态方法为类所有,可以通过对象来使用,也可以通过类来使用。
我们之前一直写的mian方法仔细看看,它就是一个静态方法,静态方法使用如下:
运行结果:
使用静态方法时,要注意:
1、静态方法可以调用同类中的其他成员,但不能直接调用非静态成员,如:
运行结果:
2、但是如果希望静态方法中调用非静态成员,可以通过创建类的对象,然后通过对象来访问非静态变量。如
运行结果:
3、静态方法同样不能直接调用非静态方法,但可以通过对象来访问非静态方法,如:
运行结果:
为什么Java中的静态 方法 不能是 抽象的
不可以。
我是这样理解的:抽象类是不能实例化的,即不能被分配内存,而static修饰的方法在类实例化之前就已经别分配了内存,这样一来矛盾就出现了:抽象类不能被分配内存,而static方法必须被分配内存。所以抽象类中不能有静态的抽象方法。
这和接口是一样的,接口中的方法也只能是
public
abstract修饰的,不能加上static。
java里,在Main函数里定义Static方法,然后调用,为什么会出错
main函数其实也是所在类的一个方法,就比如一个类是test,那么该类的main其实就是test.main(string[]args),众所周知如果一个方法不是静态的,则要先实例化该类,比如要这样testt=newtest();
然后才能调用test.main();
而这对于运行一个程序的主函数来说是不现实的,所以比如把main函数定义为static,使test.main()可以直接被调用。
关于java主函数为什么是静态的和java中的main函数为什么是静态的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。