This Keyword in Java Full Tutorial - How to Use "this"

Поділитися
Вставка
  • Опубліковано 17 жов 2021
  • 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.audibletrial.com/johnclean...
    🖥️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/donate/?hosted...
    ☕Complete Java course:
    codingwithjohn.thinkific.com/...
    codingwithjohn.com

КОМЕНТАРІ • 184

  • @lfcbpro
    @lfcbpro Рік тому +46

    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.

  • @JusQuelle
    @JusQuelle 2 роки тому +57

    This was a great explanation of the "this" keyword, thank you so much!

  • @mariap11315
    @mariap11315 Рік тому +6

    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!

  • @bhaweshpandey4306
    @bhaweshpandey4306 2 роки тому +18

    I am a beginner, so I guess it will take sometime to thoroughly grasp all at once.
    Thanks for the explanation man!!

  • @Clean_Slate
    @Clean_Slate Рік тому +31

    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!

  • @tonyregalado7281
    @tonyregalado7281 2 роки тому

    probably the best "this" keyword tutorial I've come across... and I've watched a ton. Thanks!

  • @janelain8611
    @janelain8611 2 роки тому +4

    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

  • @user-ob8kq6dv6e
    @user-ob8kq6dv6e 4 місяці тому +1

    Your channel single handedly allowed me to pass my intro to java course. Went from failing to a 3.0.
    Thank you!

  • @instayville-is2no
    @instayville-is2no 5 місяців тому

    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.

  • @ColonelloRS
    @ColonelloRS 2 роки тому

    Very well explained, thank you!

  • @rnages1921
    @rnages1921 Рік тому

    You explain it better than anyone, bc you inform us what we need to know NOT what you know.

  • @gabrielfono844
    @gabrielfono844 Рік тому

    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.

  • @tianyiyin4847
    @tianyiyin4847 Рік тому +2

    The explanation is insanely clear! Saved me from another course tbh

  • @user-jq1mp3jc1h
    @user-jq1mp3jc1h 2 місяці тому +1

    Best explaination on "this" keyword i have ever seen so far on Yt!!! Thanks a lot man🙏🙏🙏🙏🙏🙏

  • @jingyiwang5113
    @jingyiwang5113 Рік тому +1

    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!

    • @darrenfrancis8126
      @darrenfrancis8126 Рік тому

      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);

  • @IluSsIoNnN
    @IluSsIoNnN 2 роки тому +11

    I am just learning Java (from mechanical engineering, career switch) and your videos are great.
    Keep it up and Thank you !

    • @CodingWithJohn
      @CodingWithJohn  2 роки тому +8

      Awesome, good luck on the career switch!

  • @ayenoodles9068
    @ayenoodles9068 Рік тому +11

    Thank you John! I’m a sophomore Software Engineer, and you explain things much clearer than my professor ✨

    • @getyournekoshere9824
      @getyournekoshere9824 Рік тому

      @@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.

  • @dekumutant
    @dekumutant 2 роки тому +2

    Your channel is fantastic. Please don't stop

  • @Gandhi_Physique
    @Gandhi_Physique 2 роки тому

    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.

  • @wallywild5088
    @wallywild5088 2 роки тому +2

    Plz keep doing this in just a couple months you’ve provided so much value

    • @CodingWithJohn
      @CodingWithJohn  2 роки тому

      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. 🙂

  • @kevincarter3753
    @kevincarter3753 6 місяців тому

    Great tutorials! Right length, right content and great attitude!

  • @hammer9185
    @hammer9185 Рік тому

    I'm just impressed by the way you explain Everything! Excellent job!

  • @Hassan-lv9di
    @Hassan-lv9di 7 місяців тому

    The best explanation i've ever seen !!! thank you alot John! keep up the hard work

  • @gigachard5690
    @gigachard5690 Рік тому

    Omg been fighting with Intellij to understand getters, setters and constructors and watching This was an instant 4 piece! Thank you!!!

  • @clementinerose916
    @clementinerose916 2 роки тому

    I am learning java and this helps me a lot , thank you so much John

  • @josefiel6842
    @josefiel6842 2 роки тому

    Great video, the subject is so clearly explained. Amazing explanation, Thanks!!!

  • @AeV_artss
    @AeV_artss Рік тому

    grabe ka na johnny, you really know a lot of work, legend

  • @user-dc3rj1ty9v
    @user-dc3rj1ty9v Рік тому

    Really clear explanation, thank you so much!

  • @paladarsh39
    @paladarsh39 2 роки тому

    Great explanation. Addicted to your channel. Thanks for such a simple explanation

  • @elfentsuki
    @elfentsuki Рік тому

    Excellent video, very clearly explained, also cool vibe. 10 out of 10. Thank you very much!

  • @s.a.806
    @s.a.806 3 місяці тому

    Very clear, thanks a lot!

  • @Alstash
    @Alstash Рік тому

    Clear, pleasant, and understandable. Thank you!

  • @abdelkaderkaouane9682
    @abdelkaderkaouane9682 2 роки тому +5

    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.

  • @Larfty
    @Larfty Рік тому +1

    Thank you so much for teaching this

  • @prasanthivasu
    @prasanthivasu Рік тому

    thank you john. I got my concept clear. was confused in class.

  • @mitmordag
    @mitmordag 2 роки тому

    Great explanation! Thank you. I am looking forward to next videos

  • @YukinoK
    @YukinoK Рік тому +2

    You're saving my Java studies. I am really grateful for your classes !

    • @hikaru_e
      @hikaru_e Рік тому

      ong, he is crystal clear with what he explains and many times he answers questions I've been wondering about for quite some time

  • @tellefsolberg5698
    @tellefsolberg5698 2 роки тому

    Absolutely terrific videos!

  • @isackcosta5660
    @isackcosta5660 10 місяців тому

    Good video! Helped me a lot.

  • @littlemissmuppet40
    @littlemissmuppet40 Рік тому

    Far better than the course i've paid good money for :) - Thanks very much!

  • @yahyaking3250
    @yahyaking3250 Рік тому

    Thank you so much, it really helped

  • @jingothejumper
    @jingothejumper Рік тому

    This is wonderful, I finally understand how this works!

  • @mk17173n
    @mk17173n Рік тому

    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.

  • @ukrainewarchannel5682
    @ukrainewarchannel5682 2 роки тому

    Thanks a lot for your videos, they have been a godsend!

  • @jerrygord3131
    @jerrygord3131 2 роки тому

    Thank you so much! This video completely made sense out of it.

  • @cshishir4582
    @cshishir4582 10 місяців тому

    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.

  • @jer5206
    @jer5206 2 роки тому

    These vids are gold ty!

  • @matheuscastroks
    @matheuscastroks 6 місяців тому

    your the best teacher ive ever had, thank you

  • @jam-yh9il
    @jam-yh9il 2 роки тому

    Really great videos, thanks!

  • @zehrairkicatal2156
    @zehrairkicatal2156 2 роки тому

    Perfectly it was explained Looking forward to next your video reference type and primitive type CASTING

  • @manikandansivakumar4077
    @manikandansivakumar4077 2 роки тому

    you give answer for every why I ask myself. Thanks

  • @viniciuslima1185
    @viniciuslima1185 2 роки тому

    your videos are really helpful... much love from brasil!

  • @catinsoop
    @catinsoop Рік тому

    holy crap *this* actually makes sense now! I was trying to do something for a project in my comp sci class and couldn't figure out what I was doing wrong.(also apparently we were supposed to use "this." but it wasn't introduced until the next lesson which was stupid)

  • @ceciliaw1065
    @ceciliaw1065 Рік тому

    Finally understood this, thank u so much

  • @fantasy9960
    @fantasy9960 2 роки тому

    THank you soooo much! Please continue creating your videos!!

  • @rubinconineski526
    @rubinconineski526 11 місяців тому

    It is very good. You speak very good. I understand almost everything 95 %.
    Thank you.

  • @meetbohra5415
    @meetbohra5415 2 роки тому

    Thank-you John!

  • @iliasettaoussi4680
    @iliasettaoussi4680 2 роки тому

    you are an amazing instructor

  • @lofi_ish5613
    @lofi_ish5613 2 роки тому

    Thank you so much!

  • @Roberto-lb5or
    @Roberto-lb5or Рік тому

    Magnificent explanation as always. I got your bootcamp course at your web page

  • @cetinarslan262
    @cetinarslan262 2 роки тому

    Thank you. It was really clear. Good luck...

  • @mckenziepictures
    @mckenziepictures 7 місяців тому

    1. This video was AWESOME!
    2. Even more awesome, John listens to Rush! (R.I.P. Neil Ellwood Peart)

  • @uritaabdelmasih292
    @uritaabdelmasih292 Рік тому

    You are amazing! Thanksss

  • @lemagamy
    @lemagamy Рік тому

    great video thank you so much

  • @_Chad_ThunderCock
    @_Chad_ThunderCock 11 місяців тому

    your great teacher. I wish lecturers were half as good as you

  • @gunslinger7779
    @gunslinger7779 2 роки тому +2

    Thank you so much for THIS video.

    • @CodingWithJohn
      @CodingWithJohn  2 роки тому +2

      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.

  • @gulshanmustafayeva1707
    @gulshanmustafayeva1707 7 місяців тому

    You are thee greatest explainer ever 🙂 thank uu

  • @SwarcMaster
    @SwarcMaster 2 роки тому

    Keep doing great job, John. Thanks to you i can progress Helsinky MooC course like walk in a park.

  • @zladtv1456
    @zladtv1456 7 місяців тому

    Useful!

  • @atazky613
    @atazky613 2 роки тому +1

    Youre a f*cking magician John, i literally thought about refreshing my java constructor knowledge when you uploaded this video

    • @CodingWithJohn
      @CodingWithJohn  2 роки тому +2

      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

  • @Robert-jt9yg
    @Robert-jt9yg 9 місяців тому

    Great stuff

  • @paulgrossman8830
    @paulgrossman8830 Рік тому

    John, are you a drummer? Just looking at your kit in the background. Thanks as always for the great videos.

  • @amiraliazimi6355
    @amiraliazimi6355 2 роки тому

    Great! ❤️
    I always watch your videos

  • @dsan6274
    @dsan6274 2 роки тому

    Thank you again :)

  • @itsZahid22
    @itsZahid22 7 місяців тому

    just helped me thanks

  • @g33kyt
    @g33kyt 2 роки тому

    ur a god!!! help me soooo much thank you so much

  • @jvsnyc
    @jvsnyc 2 роки тому +4

    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.

  • @abdesamad6616
    @abdesamad6616 Рік тому

    This was a great explanation of the "this" keyword

  • @PatrickTouma
    @PatrickTouma Рік тому +20

    USE WHAT?!?!?!?!?!

  • @juliaineslopez4856
    @juliaineslopez4856 2 роки тому +1

    I love all your videos! never stop making them!

  • @Private-lw1td
    @Private-lw1td 2 роки тому

    Awesome!

  • @AshankMishra
    @AshankMishra 2 роки тому

    Awesome content

  • @tamingpaola
    @tamingpaola 7 місяців тому

    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

  • @MTB_Bay_Area
    @MTB_Bay_Area Рік тому

    Thank you

  • @Berrybooo
    @Berrybooo 7 місяців тому

    Ty so much

  • @BoonkiCoC14
    @BoonkiCoC14 2 роки тому

    His videos are so cracked. It's so beginner friendly.

  • @aminegttabi2994
    @aminegttabi2994 2 роки тому

    you are the best ❤

  • @tarikelqari4702
    @tarikelqari4702 Рік тому

    thank you so much, i was struggling with this "this" hahahahaha

  • @IndellableHatesHandles
    @IndellableHatesHandles Рік тому

    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.

  • @ghettoslick2000
    @ghettoslick2000 6 місяців тому

    Thanks

  • @vickyg1877
    @vickyg1877 2 роки тому

    Bro awesome

  • @ousmanetall1286
    @ousmanetall1286 6 місяців тому

    My hope is you explain in details the differences between method and constructor, and the purposes

  • @seifashraf2046
    @seifashraf2046 Рік тому

    I don't know how you make things this simple, suddenly I just understand it and idk how lol

  • @ujeshnada5141
    @ujeshnada5141 2 роки тому

    this should be the first line in the constructor is the new thing i have learnt.

  • @louiemunoz
    @louiemunoz 2 роки тому

    thanks

  • @bolbans
    @bolbans 2 роки тому

    Does this channel have a video about Override?

  • @micleh
    @micleh 2 роки тому

    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.

  • @alirahgozar8572
    @alirahgozar8572 Рік тому

    Nice

  • @zahidshoumik8967
    @zahidshoumik8967 2 роки тому

    Awesome

  • @pt_trainer9244
    @pt_trainer9244 2 роки тому

    Hey, could you please explain the stream api and its methods please,