为什么返回类型为String的成员函数必须有public在前?(java)

img


img


eclipse给出的错误原因:
Multiple markers at this line
- overrides java.lang.Object.toString
- Cannot reduce the visibility of the inherited method from Object

出现你这个提示的原因是因为toString()是Object中的方法,在Object中定义的是public,
也因为在java中,默认所有对象继承Object对象,如果你要重写这个方法,那么你所定义的权限必须是大于等于pulic。

但你换成其他Object中没有定义的方法,则不会受限于这个规则,你可以随便定义default,private,public等!

如有疑问,欢迎来交流

并不是返回值是string的非得是public,而是名字是toString的函数必须是public,不信你换个名字试试

也可以是private,如果不指定,就是private