日期:2014-05-20  浏览次数:20692 次

关于final关键词
String类是final的,这样的话它的所有方法都是final的,可是为什么可以重写toString()方法?

------解决方案--------------------
final的没有问题,但是你重写的toString方法也不是重写的String这个类的方法
比如你声明一个类A,你重写toString实际上是重写的A的这个方法,也不是String的啊
即便A也是final,仍然可以在A里面重写toString,只是A无法被继承而已

你觉得还有什么困惑?
------解决方案--------------------
String 类的方法是不能被重写的。
Object类本身有一个toString()方法的,你重写的可能是此类的方法,或许其他类(其他本质也是从Object 类继承而来的。)
------解决方案--------------------
你重写的又不是String类的toString方法