在构造对象时,它可以为null吗?
class Sample {
public Sample() {
if( this != null ) { // Is this check necessary anywhere in the constructor?
this.doSomething();
}
}
....
....
}
最佳答案
this
不会为空-但是,如果您从构造函数调用非最终实例方法,则应该彻底记录该文档,因为尚未运行任何子类构造函数。这意味着如果doSomething()
在子类中被覆盖,它将看到该子类中声明的任何字段的默认值(其中默认值是该类型的默认值,而不是变量初始值设定项可能显示的内容)。基本上值得尝试避免在构造函数中调用非最终实例方法。
关于java - 在Java中,“this”在构造函数中是否可以为null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7470303/