+ 1
Type of toString() method?
Hi all I use toString() method to print my property on objects. If default type of methods is "public" ,when i not type it on first line define method why get error? Code: String toStding() { return x; }
6 Réponses
+ 5
Hadi
I don't know where you write your codes. If you are not using sololearn you can create packages. If you do it or not does not matter how the access modifier works.
My last post was just to explain you that there is a difference between default and public, which you can't see on sololearn.
It is the same with using one class. You can use the keyword private for everything. You will not see a difference between private and public. But that does not mean that private = public.
Why can't you change public to default:
" Overriding and Access-Modifiers : The access modifier for an overriding method can allow more, but not less, access than the overridden method."
Overriden method is public -> use also public
default -> default or public
protetected -> protected/default/public
private -> all access modifier allowed
Here you find all overriding rules: https://www.google.de/amp/s/www.geeksforgeeks.org/overriding-in-java/amp/
+ 5
About packages:
https://www.sololearn.com/learn/Java/2161/?ref=app
+ 3
Because default is not public.
public means the method/class/variable is visible from everywhere (inside the class, outside the class and outside the package).
private should be clear -> only inside the class
default: inside and outside the class but not outside the package.
default String toString() has weaker access than public String toString().
Here is a graphic:
https://i.stack.imgur.com/E5c6l.png
+ 1
Btw: Sololearn does not support packages. So all code uses one package
-> default looks like public
But if you use an IDE on your PC you can write code (package a) and write another code (package b) which imports package a. If in a is a default method -> b has no access. b has only access if the method is public.
+ 1
Denise Roßberg
But i use no IDE and all classes is on subfolder