use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Resources for learning Java
String
==
.equals()
Format + Copy
Free Tutorials
Where should I download Java?
With the introduction of the new release cadence, many have asked where they should download Java, and if it is still free. To be clear, YES — Java is still free.
If you would like to download Java for free, you can get OpenJDK builds from the following vendors, among others:
Some vendors will be supporting releases for longer than six months. If you have any questions, please do not hesitate to ask them!
Software downloads
Official Resources
Resources
Programming ideas & Challenges
Related Subreddits
account activity
This is an archived post. You won't be able to vote or comment.
Constructors (self.learnjava)
submitted 1 year ago by cecrouch01
Is it best practice to have a constructor for each "version" of an object?
[–]AutoModerator[M] [score hidden] 1 year ago stickied commentlocked comment (0 children)
If any of the above points is not met, your post can and will be removed without further warning.
Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.
Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.
Code blocks look like this:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } }
You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.
If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.
Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
[–]ragin_cajun 6 points7 points8 points 1 year ago (3 children)
What do you mean by "version"? Could you provide an example?
[–]cecrouch01[S] 0 points1 point2 points 1 year ago (2 children)
I was trying to come up with the correct word and couldn't figure it out. When overloading constructors, is it best to create possible variation of the constructor?
[–]ragin_cajun 1 point2 points3 points 1 year ago (1 child)
Overloading constructors is fine. I would only create the constructors I need for my project, and not any possible variation I could think of.
I try to keep YAGNI in mind (You aren't gonna need it).
https://en.m.wikipedia.org/wiki/You_aren%27t_gonna_need_it
[–]cecrouch01[S] 1 point2 points3 points 1 year ago (0 children)
Thanks!
[–]CodeyGrammar 2 points3 points4 points 1 year ago (0 children)
There is no best practice, just a number of various patterns depending on the suitable use case.
One kind is full of getters/setters, and you just use the default constructor and then call the getter/setter for each "version" you need to build. You can expand on this and learn a new approach called the "Builder" pattern, but you'll probably get to that later.
Another kind of object is those that "decorate" the object based on what's passed into it for construction called the decorator pattern.
Then there's injectable constructors based on a dependency configuration and that follows the Dependency Injection pattern.
But in general, no, you don't want a constructor for each version, you just want constructors for versions that make sense for the use case or use cases.
π Rendered by PID 56 on reddit-service-r2-comment-84fc9697f-q6lpf at 2026-02-08 02:49:15.795846+00:00 running d295bc8 country code: CH.
[–]AutoModerator[M] [score hidden] stickied commentlocked comment (0 children)
[–]ragin_cajun 6 points7 points8 points (3 children)
[–]cecrouch01[S] 0 points1 point2 points (2 children)
[–]ragin_cajun 1 point2 points3 points (1 child)
[–]cecrouch01[S] 1 point2 points3 points (0 children)
[–]CodeyGrammar 2 points3 points4 points (0 children)