This Keyword in Java Full Tutorial - How to Use "this"
Вставка
- Опубліковано 7 лют 2025
- What does the "this" keyword mean in Java? How and when do you use "this"? We'll cover all of that (and all of "this") in this video.
In Java, the keyword "this" can be confusing for beginners. What does "this" even really mean? How do I know when I have to use it, and what does "this" actually refer to when I do use it?
In this beginner Java tutorial video, we'll give a complete overview of the "this" keyword in Java. By the end of the vide you'll know everything you need to confidently use "this" in your Java programs.
Learn or improve your Java by watching it being coded live!
Hi, I'm John! I'm a Lead Java Software Engineer and I've been in the programming industry for more than a decade. I love sharing what I've learned over the years in a way that's understandable for all levels of Java learners.
Let me know what else you'd like to see!
Links to any stuff in this description are affiliate links, so if you buy a product through those links I may earn a small commission.
📕 THE best book to learn Java, Effective Java by Joshua Bloch
amzn.to/36AfdUu
📕 One of my favorite programming books, Clean Code by Robert Martin
amzn.to/3GTPVhf
🎧 Or get the audio version of Clean Code for FREE here with an Audible free trial
www.audibletria...
🖥️Standing desk brand I use for recording (get a code for $30 off through this link!)
bit.ly/3QPNGko
📹Phone I use for recording:
amzn.to/3HepYJu
🎙️Microphone I use (classy, I know):
amzn.to/3AYGdbz
Donate with PayPal (Thank you so much!)
www.paypal.com...
☕Complete Java course:
codingwithjohn...
codingwithjohn...
I've gotta say John, I am doing Java in Uni, and I have their book, and a few others, but your videos wipe the floor with them when it comes to clarity and explanations.
Seriously, if you aren't a teacher, you should be one.
I was disheartened when I was reading the course materials for my class, but just watching your videos has really helped with everything.
Thank you very much indeed.
You make things look so much easier. I feel like I have watched perhaps an entire lecture after most (if not all) of your videos.
And I mean that in the best possible way. Keep being great, you certainly have a gift in teaching!
YES!!!
Probably nobody gonna see my comment, but im having a java exam in 2 days and figuring out something that was a pain in ass the whole semester in 7 minutes is truly a save. Thank you, John!
Your channel single handedly allowed me to pass my intro to java course. Went from failing to a 3.0.
Thank you!
This was a great explanation of the "this" keyword, thank you so much!
this keyword was so confusing to me as a beginner- more than most other concepts!!-video really nails it down, and helps reinforce my understanding
grabe ka na johnny, you really know a lot of work, legend
I am a beginner, so I guess it will take sometime to thoroughly grasp all at once.
Thanks for the explanation man!!
Hey bro how it's going you have learned java right now,,,??
I've watched a bunch of your videos today just in two hours and I'm amazed of how you make things look so clear in just seven minutes or so per topic :D Great job!
I am just learning Java (from mechanical engineering, career switch) and your videos are great.
Keep it up and Thank you !
Awesome, good luck on the career switch!
Thank you John! I’m a sophomore Software Engineer, and you explain things much clearer than my professor ✨
@@jamesdrinkard687 what do you think assignments are in school? also, you think john never went to school? you sound like you're coping a bit.
Plz keep doing this in just a couple months you’ve provided so much value
Been going for about a year now! But the first bunch of videos were much rougher for sure, so you're probably not wrong that the last couple months had some of the best stuff so far. 🙂
You explain it better than anyone, bc you inform us what we need to know NOT what you know.
Best explaination on "this" keyword i have ever seen so far on Yt!!! Thanks a lot man🙏🙏🙏🙏🙏🙏
The explanation is insanely clear! Saved me from another course tbh
Your explanation of the "this" keyword is crystal clear. After being stuck at this point for such a long time, it finally makes sense to me. I am really grateful for your help! I am in my second year of college and right now, struggling in a java class highlighting algorithms and data structures. I have also checked some of your other videos and will certainly watch more! Thanks!
im in the same boat but i am building a calculator app and in the tutorial he used "this keyword in a different context.
functionButtons[i].addActionListener(this);
Hi jingyi can we be friends
I think that using "this" in class methods, like constructor or getters and setters, is not for avoid confusing between the function parameter and the filed name.
The uses of "this" is for referencing the specific object in memory beacause we can have many other objects of the same class.
Why is this guy so helpful, so much clarity & speed in teaching 😭😭😭😭
Thank you! I'm so appreciative of this that I'll watch the ad in its entirety so you can get some of the money!
Your explanations have helped me fully wrap my head around these concepts that I have never been able to understand for years in my self-study. Thank you so much! I've subscribed since I'm going all-in on learning Java at this point and I really want to hone in on the basic concepts.
Your channel is fantastic. Please don't stop
Great tutorials! Right length, right content and great attitude!
This is whole different level.
I am working hard to get to this point where explaining concept is as easy as coidng with john currently explains
thanks for your hard work
we all really appreciate.
Omg been fighting with Intellij to understand getters, setters and constructors and watching This was an instant 4 piece! Thank you!!!
You're saving my Java studies. I am really grateful for your classes !
ong, he is crystal clear with what he explains and many times he answers questions I've been wondering about for quite some time
Hi atmaria can we be friends
probably the best "this" keyword tutorial I've come across... and I've watched a ton. Thanks!
The best explanation i've ever seen !!! thank you alot John! keep up the hard work
Dang near perfect, and no, I don't have any complaint at all, except that in other languages some good developers felt that "this" was redundant in instance methods and should generally be avoided as noise (their approach was non-ideal when the natural name for a method parameter was the same as a data member, of course -- they would wind up having to munge those). On the theme of "I love how you do brief intros that don't overwhelm the learner with minor details without lying or teaching anything they will have to learn later" a very good book I am reading does just that. In a quest to prepare the reader for cert exams, they don't merely ignore stuff that isn't on the exam in that area, but actively make some misstatements that won't affect one's performance on the exam, but if you go beyond later, you will actively have to unlearn some "convenient lies" that they could have just ignored instead. It is a fine line, but you normally always land on the right side of it. There are extremely few "untrue statements" or "non-facts" found in your videos in service of making a good introduction. That is not easy to pull off, and I really appreciate it.
Thanks jvsnyc!
Youre a f*cking magician John, i literally thought about refreshing my java constructor knowledge when you uploaded this video
Thanks! 🧙♂️
You may have seen it already, but I have another recent video with even more constructor info here: ua-cam.com/video/pgBk8HC7jbU/v-deo.html
The tenth grade board exams are comming up and i think that this was a pretty informative video.
I really like the efforts put by Sir John who is also teaching us for free unlike most of the cases (tutions example) where they charge tons of money for basic concepts.
The plus point is that he is a really great teacher too.
Sir i hope that you will continue to do this.
your the best teacher ive ever had, thank you
Wow, I wasn't expecting to learn anything but now I understand it much better. I didn't even know you could call a constructor in that way.
thank you john. I got my concept clear. was confused in class.
I see what you did there with the dog named Kramer and the Kramer poster in the back. BTW your explanations are super easy to understand compared to other videos. Amazing work.
I'm just impressed by the way you explain Everything! Excellent job!
Very clear, thanks a lot!
Thank you so much for teaching this
Far better than the course i've paid good money for :) - Thanks very much!
It is very good. You speak very good. I understand almost everything 95 %.
Thank you.
I work in C#, and I swear Java is basically the same language with a different API.
I feel like I'll be referring to your videos a lot while working on my CS Java course, though, since Java is different enough to cause some confusion.
I am learning java and this helps me a lot , thank you so much John
1. This video was AWESOME!
2. Even more awesome, John listens to Rush! (R.I.P. Neil Ellwood Peart)
Magnificent explanation as always. I got your bootcamp course at your web page
Very well explained, thank you!
this definitely helped me, im 11 weeks in my java cs class and needed to understand what the hell was going on with these constructors XD
Thank you so much for THIS video.
I almost added a counter to the video to show every time I said the word "this", I thought it would be hilarious. But then I thought it might have been too distracting. So you all can turn it into a drinking game instead.
Keep doing great job, John. Thanks to you i can progress Helsinky MooC course like walk in a park.
Awesome! And thanks!
Excellent video, very clearly explained, also cool vibe. 10 out of 10. Thank you very much!
Clear, pleasant, and understandable. Thank you!
Really clear explanation, thank you so much!
His videos are so cracked. It's so beginner friendly.
you give answer for every why I ask myself. Thanks
You are thee greatest explainer ever 🙂 thank uu
This was a great explanation of the "this" keyword
Great video, the subject is so clearly explained. Amazing explanation, Thanks!!!
your videos are really helpful... much love from brasil!
Great explanation. Addicted to your channel. Thanks for such a simple explanation
This is wonderful, I finally understand how this works!
I don't know how you make things this simple, suddenly I just understand it and idk how lol
THank you soooo much! Please continue creating your videos!!
Perfectly it was explained Looking forward to next your video reference type and primitive type CASTING
John, are you a drummer? Just looking at your kit in the background. Thanks as always for the great videos.
Great explanation! Thank you. I am looking forward to next videos
I'm so annoyed by the fact that here in Germany the government makes pupils use parameters prefixed with a 'p', which is why they'll never get in contact with the 'this' keyword, since there is never a conflict with the field names - I'll tell them, though, anyway. Your Dog constructor would therefore look like 'this': public Dog(String pName, int pAge).
I think this is a relict from the time that the default language in higher education was Delphi and senior developers in the government didn't want to give up this parameter naming convention when they had to learn Java.
Thanks again for the awesome content. I'll definitely recommend your videos to my students.
Thank you so much! This video completely made sense out of it.
Good video! Helped me a lot.
Finally understood this, thank u so much
These vids are gold ty!
Thanks a lot for your videos, they have been a godsend!
Absolutely terrific videos!
this should be the first line in the constructor is the new thing i have learnt.
you are an amazing instructor
Great! ❤️
I always watch your videos
Thanks for watching, glad you enjoy them!
Thank you. It was really clear. Good luck...
Thank you so much, it really helped
My hope is you explain in details the differences between method and constructor, and the purposes
Thank-you John!
Really great videos, thanks!
Doug Demuro loves this keyword
I love all your videos! never stop making them!
Hi Julia can we be friends
no cap you teach better than my triple PHD professor from a top 30 university in the world
thank you so much, i was struggling with this "this" hahahahaha
Point to note
This keyword can also be used to call other parameterized constructor
Which will be the first statment
ur a god!!! help me soooo much thank you so much
great video thank you so much
Thank you so much!
You are amazing! Thanksss
Currently Iam in the first year of systems engineering and we have to learn java but with bluej, but bluej sometimes sucks, there are many features like markings in eclipse and other editors that bluej doesnt have.
Make a video about creating a server and client with java pls !!!!!!!!! THANK U FOR ALL UR VIDEOS
just helped me thanks
Hi John.
How come we don’t just use a different parameter name instead of “name”. Wouldn’t that also avoid there being two “names” to be referred to? For example:
public void setName(String nameSet) {
name = nameSet;
}
You're absolutely right, that would do the trick too! I suppose programmers are kind of a stubborn bunch and we don't want to use another name for something if we don't have to. I don't have much of a better explanation unfortunately, but the convention you'll see used is still to use the same names with "this".
@@CodingWithJohn alright! Thank you for explaining that.
"this" is a reference to a current object. I'm suprised that author can't show a simple example when usage of "this" is necessary. One of the examples could be a method for class Node like:
void add(Node aNode){
aNode.next=next;
next.prev=aNode;
next=aNode;
aNode.prev=this;
}
Here Node is a node of double linked list. This method adds aNode right after current(or "this") Node in list. And it can't be done without "this".
I feel like this is a dumb question, but why not just change the names of the method parameters? Wouldn't that remove the need for the 'this' keyword?
Thank you again :)
Great stuff
Useful!
you are the best ❤
Thanks for this, except @4.38 - "point of a static method is that they CAN NOT be used"
Does this channel have a video about Override?
Could you do a Quicksort Tutorial, that would be really cool
It's a tough algorithm to describe very clearly, but it's definitely a video that will happen eventually!
@@CodingWithJohn Thank you, sir
Thank you