黑马程序员技术交流社区

标题: 是否可以从一个static方法内部发出对非static方法的调用? [打印本页]

作者: 小面团    时间: 2016-8-4 11:56
标题: 是否可以从一个static方法内部发出对非static方法的调用?
如题:
是否可以从一个static方法内部发出对非static方法的调用?
作者: haizi004    时间: 2016-8-4 14:21
是否可以从一个static方法内部发出对非static方法的调用?
其实这个问题应该这样说:是否可以在一个静态方法内部直接发出对非静态方法的调用(即直接写出方法名)?
不可以;
静态方法是可以直接通过类名调用的(如 Arrays.sort() 数组工具类Arrays的排序方法),而非静态方法是随着对象的创建而加载进堆内存中的,需要通过对象来调用;
当通过类名直接调用静态方法时,对象可能还未创建,也就不能调用非静态方法了.
作者: haizi004    时间: 2016-8-4 14:23
而如果在静态方法内先创建本类的对象,然后通过该对象调用非静态方法,这样也是可以的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2