【发布时间】:2014-11-30 14:00:13
【问题描述】:
给定下面的myClass和非静态方法run(),下面这行代码是有效的:
new myClass().move();
不过,这也是有效的:
move();
我理解第一次尝试 (new myClass().move()) 创建了一个类的实例,然后调用它的方法。第二次尝试是否也隐含地做同样的事情?换句话说,两次尝试真的一样吗?如果不是,那么根本区别是什么,哪个更受欢迎?
OscarRyz 在here 帖子中的评论似乎触及了这一点,但他没有详细说明。
class myClass
{
void move() {
//...some code
}
void run() {
new myClass().move();
}
}
谢谢。
【问题讨论】:
-
非静态方法属于对象的一个实例(研究“this”以了解更多信息)。仔细考虑该方法会在您的代码中将哪个实例视为“this”。
标签: java non-static