4个回答
展开全部
1。静态方法的特点: 直接调用类名+方法名,不需要实例化类对象。
如: Hello.P();
非静态方法则必须实例化一个对象出来,再通过对象调用该方法如: Hello hello=new Hello(参数1~n); hello.P();
2。程序被打包成.jar文件后(相当于.exe文件),给外界唯一的接口就是main方法。使用者双击.jar文件,其实就是让虚拟机执行main方法。
3。main方法不是提供给程序员的,而是提供给虚拟机和使用客户的。 一个软件你没法让客户知道你内部的详情,当然客户也就没办法知道怎么去实例化对象,更不知道实例化对象时需要输入什么参数了。所以只能采用静态方法。
如: Hello.P();
非静态方法则必须实例化一个对象出来,再通过对象调用该方法如: Hello hello=new Hello(参数1~n); hello.P();
2。程序被打包成.jar文件后(相当于.exe文件),给外界唯一的接口就是main方法。使用者双击.jar文件,其实就是让虚拟机执行main方法。
3。main方法不是提供给程序员的,而是提供给虚拟机和使用客户的。 一个软件你没法让客户知道你内部的详情,当然客户也就没办法知道怎么去实例化对象,更不知道实例化对象时需要输入什么参数了。所以只能采用静态方法。
展开全部
我是这么理解的:
如果方法f()被类A定义成静态方法,那么f()方法对于类A只有一个入口,也就是由A创建的所有对象共享一个入口。
如果方法f()不是静态的,那么由类A创建的每一个对象都有独立的入口。
方法main()是作为程序的入口,没有必要每个对象有一个入口,只需一个类有一个入口就行了,所以就定义成了静态的.
如果方法f()被类A定义成静态方法,那么f()方法对于类A只有一个入口,也就是由A创建的所有对象共享一个入口。
如果方法f()不是静态的,那么由类A创建的每一个对象都有独立的入口。
方法main()是作为程序的入口,没有必要每个对象有一个入口,只需一个类有一个入口就行了,所以就定义成了静态的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态的方法是不需要初始化实例的 直接就能调用的 main方法在这个 类里边
运行main的时候不需要 new这个类 然后再调用的 别的静态方法的调用也是不需要初始化实例的 只需要类名.方法就可以用了!
运行main的时候不需要 new这个类 然后再调用的 别的静态方法的调用也是不需要初始化实例的 只需要类名.方法就可以用了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态方法是随着类进入内存时就被加载到内存的 不用实例化(如new HelloWorld()),而main方法是整个应用程序的入口
所有,如果不声明为static其他方法又怎么能进入内存让CPU来运算呢?
所有,如果不声明为static其他方法又怎么能进入内存让CPU来运算呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询