我有一个抽象类。
public abstract class MHandle {
public MHandle getMHandle(){
return this;
}
}
我还有另一门课叫做House
public class House extends MHandle{
public void methodA(){
}
}
做这样的事情的意义是什么
public void methodA(){
MHandle mh = getMHandle();
}
最佳答案
两者之间绝对没有区别:
public void methodA(){
MHandle mh = getMHandle();
mh.toString();
}
还有这个
public void methodA(){
this.toString();
}
还有这个
public void methodA(){
toString();
}
还有这个
public void methodA(){
this.getMHandle().getMHandle().getMHandle().getMHandle().
getMHandle().getMHandle().toString();
}
这种差异在任何情况下都是正确的。在
MHandle
类或其具体子类(例如House
)的内部,以及在那些有权访问或无法访问MHandle
类的类的内部。我完全看不到getMHandle()
的意义,如果要做的只是返回一个自引用而不做任何有用的事情。