在用java写代码时, 主函数前为什么要加static 在用java写代码时, 主函数前为什么要加static?静态方法有什么特点? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 静态方法不用实例化就可用 比如ClaaaA.XXXX();主函数是程序的入口 供JVM调用 java在编译时,会把声明为static的变量或者方法自动生成,这样,在执行class的时候,就可以不用new方法构造对象,直接使用就可以了。 static方法不需要NEW出对象就可以执行,不加的话JAVA 虚拟机在加载这个程序的时候 还没有对象 那程序就无法执行了, 类里面的static方法不用生成对象就可以直接通过类调用,所以main方法也是,只有static方法才可以不用生成对象使用。这也体现了java的安全性。 java的static方法是静态的不用实例化对象就可以调用,保证java的稳定性 如果你想调一个类中的普通的方法,首先你得new一个这个类的对象,而如果那个方法是static的,你完全可以在没有new这个类的对象的情况下直接用类名.方法()去掉这个方法,主函数是一个程序的入口,在你开始执行时是没有对象的,这个方法必需是static的。 因为Java是依存于类实现的而对于类来说,如果要调用一个函数的话,而不进行对象实例化,唯一的方法就是对其进行声明为Static函数 如果main函数不加static的话,就表示需要先创建对象,如XXX aaa = new XXX() 再调用 aaa.main.需要使用 static 因为对象需要先在内存中创建才能被使用,而当刚开始执行时,内存中还没有这个对象。而static方法是一个不和对象状态绑定的方法,有时我们也说是无状态的方法,它不需要一个对象事先存在就可以调用它的方法。关于static的用法属于基础知识,楼主去看一些参考书好好理解理解吧。 给段程序讲解下class A{ static void prT(){ System.out.println("A"); } void p(){ prT(); }}class TestA{ A aa=new class(); static void main(){ aa.p(); }}这样用可以打印出“A”,是这个意思吗? main函数是sun制定的主函数入口,就想1+1=2一样,是在java出现时就设计好的。当然可以反向推断一下,我想提一个问题,如果让你去设计这个主函数入口你如何去设计它呢?要求 :jvm在启动时就要调用这个主函数。我能找到的方法有2种,一种是public static void main(String[] args){}另一种是public void main(String[] args){}那么这两种方法那个好一点呢?有static的方法,static告诉jvm这个方法是唯一的。因此,jvm会直接分配内存空间存放它,也就是说,在jvm启动的时候这个方法就已经存在了。而没有static 的方法,jvm需要先调用构造函数(必须是无参数的,如果有参数的话jvm不知道该传什么值)构造对象,然后通过对象obj.main()去启动主函数。现在,两种方法的优劣是不是已经清楚了呢! ??????????????那main方法是由哪个类 调用的呢 难道是jvm.main() 只是 想问一下 我不知道 是由什么调用的main 讨论讨论哈 一般类的MAIN方法,都是用来测试这个类使用的 java里的小问题 关于定时启动线程的问题,很急急急,今天下班结贴! Java 数据类型的问题????? 请高手指条路!关于Java开局! JFrame关不掉了! InetAddress如何变成字符串 !!!java如何把自己的电脑设成DNS(用于自己访问)!!! 能知道一个文本文件的编码格式吗?似乎只有得到系统平台的编码格式的方法System.getProperty("file.encoding") swing高手请进,帮帮小弟!谢谢! java中如何返回多个list 如何将button group的两个align属性集成在一起? 一道面试题:同步方法与同步代码块的区别
主函数是程序的入口 供JVM调用
而对于类来说,如果要调用一个函数的话,而不进行对象实例化,
唯一的方法就是对其进行声明为Static函数
需要使用 static 因为对象需要先在内存中创建才能被使用,而当刚开始执行时,内存中还没有这个对象。
而static方法是一个不和对象状态绑定的方法,有时我们也说是无状态的方法,它不需要一个对象事先存在就可以调用它的方法。
关于static的用法属于基础知识,楼主去看一些参考书好好理解理解吧。
class A{
static void prT(){
System.out.println("A");
}
void p(){
prT();
}
}class TestA{
A aa=new class();
static void main(){
aa.p();
}
}
这样用可以打印出“A”,是这个意思吗?
当然可以反向推断一下,
我想提一个问题,如果让你去设计这个主函数入口你如何去设计它呢?
要求 :jvm在启动时就要调用这个主函数。
我能找到的方法有2种,
一种是public static void main(String[] args){}
另一种是public void main(String[] args){}
那么这两种方法那个好一点呢?
有static的方法,static告诉jvm这个方法是唯一的。因此,jvm会直接分配内存空间存放它,也就是说,在jvm启动的时候这个方法就已经存在了。而没有static 的方法,jvm需要先调用构造函数(必须是无参数的,如果有参数的话jvm不知道该传什么值)构造对象,然后通过对象obj.main()去启动主函数。
现在,两种方法的优劣是不是已经清楚了呢!
那main方法是由哪个类 调用的呢 难道是jvm.main()