今天,我只想试图搞清两个问题:第一个是,为什么main方法声明为static?第二个是,static修饰的方法的用法总结,其实,这点已经在另一篇博文中总结了,但是,此一时,彼一时,懂得的不太相同,权当给自己复习一下吧!
来到第一个问题,为什么要将main方法声明为static呢?这和java虚拟机的运行机制有关,我们在用DOS运行代码时,往往会敲入java 什么什么的,而当java虚拟机即JVM命令执行时,JVM调用所指定的类的main方法(在没有创建的任何该类的对象时),在我们将main方法声明为static,JVM就可以不必创建一个该类的实例而调用main了。这就是我们将main声明为static的原因了。
第二,总结一下static方法的基本知识:首先static的方法只能直接调用同一个类的其他static方法(即只使用方法名本身),并且也只能操纵同一个类的static域,要想访问这个类的非static成员,就只有创建该类的对象进行引用了。static方法整体上与一个类相关,而那些不是static修饰的方法就只能与创建的该类的对象想关联,并操纵该对象的实例变量。在java里面,不允许一个static直接访问同一个类的非static成员。
这些是今天下午自习的一点心得,趁现在还有记忆,先发在这儿,供以后继续学习。
来到第一个问题,为什么要将main方法声明为static呢?这和java虚拟机的运行机制有关,我们在用DOS运行代码时,往往会敲入java 什么什么的,而当java虚拟机即JVM命令执行时,JVM调用所指定的类的main方法(在没有创建的任何该类的对象时),在我们将main方法声明为static,JVM就可以不必创建一个该类的实例而调用main了。这就是我们将main声明为static的原因了。
第二,总结一下static方法的基本知识:首先static的方法只能直接调用同一个类的其他static方法(即只使用方法名本身),并且也只能操纵同一个类的static域,要想访问这个类的非static成员,就只有创建该类的对象进行引用了。static方法整体上与一个类相关,而那些不是static修饰的方法就只能与创建的该类的对象想关联,并操纵该对象的实例变量。在java里面,不允许一个static直接访问同一个类的非static成员。
这些是今天下午自习的一点心得,趁现在还有记忆,先发在这儿,供以后继续学习。