0
Let my class name is round. Why I have to write this syntax for dynamic memory alloc. like this........ round x = new round ();
I mean why to use class name. Why can't any other name....??
4 Answers
0
I'm not sure what you are asking. Why can't you use another class name? Or why do you have to use this syntax?
ClassName varName = new ClassName();
That syntax is just how constructors work in Java. You can also use a factory:
ClassName varName = MyClassFactory.create();
There are some other ways as well (using reflection, etc). Serialization for example.
Most of the others rely on Constructors though.
0
Yup...you interpreted it right....
but still its not clear to me that why constructor works this way. I mean there must be a reson developers kept the syntax this way...?
I just want that reason.....
please can you explain it to me...đ
0
Well, sometimes you may have inheritance so you want the left side to be a different type.
For example, HashMap implements Set and you really only care that it's a Set. So you may use this type of declaration:
Set<String> names = new HashSet<>();
The new keyword is what tells the JVM to allocate memory for a new HashSet.
Sometime down the road, you may want to use a different type of Set, for instance, a TreeSet. Then you just have to change one line to change the implementation:
Set<String> names = new TreeSet<>();
0
okay.....
Now I got it.....thanks.....đ