首页编程java编程java主函数为什么是静态的,java中的main函数为什么是静态的

java主函数为什么是静态的,java中的main函数为什么是静态的

编程之家2023-10-14102次浏览

各位老铁们好,相信很多人对java主函数为什么是静态的都不是特别的了解,因此呢,今天就来为大家分享下关于java主函数为什么是静态的以及java中的main函数为什么是静态的的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

java主函数为什么是静态的,java中的main函数为什么是静态的

java中的main函数为什么是静态的

静态

成员函数

java主函数为什么是静态的,java中的main函数为什么是静态的

在执行前必须先构造并

实例化

该函数所在的类。

java主函数为什么是静态的,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函数为什么是静态的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

java线程优化是什么(什么是线程有什么用 讲得通俗点)java符号的意思是什么(java符号++什么意思谁能给详细讲述一下)