为了账号安全,请及时绑定邮箱和手机立即绑定

这一节例子里main函数的代码中

这一节的例子里的num3作为一个静态变量为什么可以被直接调用,既没有通过类名调用也没有通过对象名调用

正在回答

3 回答

因为main方法就是静态的,public static void main(String[] args),里面有static, 静态方法中可以直接调用同类中的静态成员。

0 回复 有任何疑惑可以回复我~

找到  Java中的static使用之静态方法  这节课中

有这样一句话, 静态方法中可以直接调用同类中的静态成员。 但不能直接调用非静态成员 

上图:

http://img1.sycdn.imooc.com//599807400001215306700239.jpg

0 回复 有任何疑惑可以回复我~

静态方法实际是类的方法,而不是关于对象的方法。所以不是“可以不通过对象调用方法”,而是恰恰应该使用类来调用,而且鼓励这种写法,而不是通过对象调用。即:静态方法不和对象相关,而是仅仅和类相关。为啥呢?解释是这样的:在一般的类中定义的方法中,非静态类其实不仅仅有他们后面括号里面的显式参数(比如 public int getField(String param1, int param2)这个方法,显式参数是param1和param2),还包括一个隐式参数:即这个调用方法的对象(即this)。而静态方法,则没有这个隐式的参数,仅仅就只有括号中的显式参数。既然是因为静态方法不和对象关联,那么它就只能用同样仅仅和类关联而不和对象关联的实例域,毕竟不是静态的实例域在不同对象中基本上都是不同的嘛。


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这一节例子里main函数的代码中

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信