A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

在主函数那个类中写的方法为什么必须是静态的才能调用呢?

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

4 个回复

倒序浏览
首先主函数作为入口是固定的,一定有static。
再就是静态的特点。被static修饰的成员是随着类的加载而加载的。静态方法只能访问静态变量和静态函数。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
主函数是静态的。静态函数只能调用静态的方法,所以主函数只能调用静态的方法。因为静态函数在程序一执行就加载到静态方法区,非静态方法这时在内存中还没有存在,所以不能调用,必须建立了对象以后才能调用。

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
static静态,随类的加载同时执行一次,先于对象存在,也就是说JVM执行的顺序是1加载类,2执行static,3成员……

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
1: 在Java中static的方法和属性是属于这个类,所有对象都公有,并不是属于某个对象,所以他可以直接通过类名直接调用。
2: 成员变量是属于对象的,它只能通过对象进行访问,倘若你在方法中静态main方法中直接调用某个类中非静态方法,则肯定会抱错,因为我这是调用的是哪个类,哪个对象的方法呢?
3: 然后也是同楼上哥们所说,jVM加载执行的顺序也是一个因为,一般顺序是:静态代码块-->静态方法-->普通方法快(应该也叫构造块吧)-->构造方法(new 对象的时候)......
希望可以帮助你.........

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马