can we implement them ?
(without pointers )
No, there no copy constructors in java. Simply because there's no use-case for copy-constructors in java by design, unlike in C++. In java absolutely every object is always created in heap. And stack is for primitive values and pointers only. So technically it's impossible in java to create object on stack. That's why when you're either "copying" objects or pass them as parameters, *pointers/references* are copied, not the objects. Always. That's why there's no any use-case for copy-constructors in java, in places where C++ would call copy-constructor, java simply copies *pointer* (int primitive). There are 2 mechanisms similar to copy-constructors in mechanics, but not in usage. - copy-constructor similar in its purpose to "prototype" design pattern, though roles of this pattern are inverted in case of constructor; most well-known example - collections, almost any collection/map implementation allows to create new collection by copying existing one; constructors look like public ArrayList(Collection collection) {... - Object.clone() + Cloneable interface - stone age language-level implementation of same "prototype" design pattern, though it's not popular nowadays. Not sure if it was really popular ever. Might be in early years of java.
Do you want shallow copy or deep copy? But as others have answered above my message there are no copy constructors in Java
Got it , Thank you , Also I would like to ask are default and no argument constructors are same ?
Nah I just wanted to confirm there isn't copy constructors that's all .👍 I got that now .
Those questions give me a weird feeling of exam or interview questions. Why are you asking such things?
Yeah I am preparing for exams tho..
Обсуждают сегодня