伙计们,我有一个简单但令人讨厌的问题。
据我所知,static
基本上意味着,对于那个类的每个实例,这个方法都是一样的,如果我们改变它,这个类的每个实例都会改变,它是也称为类方法。好吧,如果我有一个类实现了某种格式的 toString ()
方法,让我们说:
public String toString() {
return "(" + x + "," + y + ")";
}
为什么不能设置成static呢?由于该格式对于该类的每个实例都是相同的...?
最佳答案
这不仅适用于 toString()
It is a compile-time error if a static method hides an instance method.
自实例方法toString()
隐式继承自 Object
, 声明一个方法 toString()
作为static
在子类型中导致编译时错误。
从面向对象的角度来看,请参阅此问题的其他答案或 related问题。
关于java - 为什么 toString() 不能是静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20601933/