java中静态函数的意义

来源:百度知道 编辑:UC知道 时间:2024/06/20 02:37:56
尤其是main()函数中的那个
希望讲得生动形象点,科学性倒是其次

加分。我帮你问答!
恩。
不知道你了解java的内存机制不。
首先在java里被声明为静态的。jvm会把这个属性或者是方法。的内存地址开辟在静态常量池中。而不是存放在所声明类中的堆中。
所以不能通过对象名来访问。
那么怎么来访问这个静态的属性或者是方法。通过类名来访问。
而且在static声明的类里面。可以不要用通过类名来访问。这是为什么呢。
其实在本类里面当你要访问这个 属性或者是方法的时候。其实前面隐显加上了this关键字。

现在来讲main()方法:
main函数是一个程序的入口
jvm只会找你的main()。
但是为什么main()一定要声明为static 类型的呢?
因为jvm在调用main()的时候没有new main()所以类的对象出来
但是那怎么来调用main()呢
所以java里面的main()限制了一定要声明为static类型的
这样就可以通过
类名.main()来调用了
而不是用 对象名.main()来调用

本人觉得main()一定要声明为static类型的的原因之一就是
jvm在掉你的main()时没必要new main()所以的类的对象了,这样可以节约内存!

静态方法最大的特点就是,不用生成类的实例对象,直接可以点。还有就是静态方法不能访问非静态成员变量。比如你在类中定义一个变量 int a= 6;
你在一个静态方法里,比如说就是你的主方法,就不能直接用你的a 因为你的a这个变量不是静态的,要想用怎么办,两种方法:1.把a定义在方法里;2.把a声明成静态的,static int a=6;这就是我说的,静态方法不能访问非静态成员变量,反过来是可以的。
main函数是一个程序的入口,不管你写了多少类,写了多少方法,java虚拟机只会找你的main函数,main函数里做了什么就是什么。

static声明的方法是可以用类名直接调用的~而没static就要new出对象来去调用,main方法是主方法,是一个程序的主入口String[] args是声明一个String数组,如果你想直接输