Java Main Method Explained - What Does All That Stuff Mean?

Поделиться
HTML-код
  • Опубликовано: 2 ноя 2020
  • Complete Java course: codingwithjohn.thinkific.com/...
    Full tutorial - What does public static void main (String[] args) mean in all your Java programs?
    Get the full explanation of the Java main method in this lesson.
    Public? Static? Void? Everything about the Java main method is explained.
    Learn or improve your Java programming by watching it being coded live in free video tutorial lessons!
    Hey, I'm John! I'm a Lead Java Software Engineer who has been in the industry for over a decade, and I love teaching what I know.
    Tell me what else you want 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
  • ХоббиХобби

Комментарии • 277

  • @SponkADonk
    @SponkADonk 2 года назад +356

    For whatever reason I have struggled with really understanding "static" and you just cleared it up for me. Thanks, John!

    • @beesetti.d.ssubhash5075
      @beesetti.d.ssubhash5075 2 года назад +3

      Can you please explain with an example.
      😊

    • @jumpz5561
      @jumpz5561 2 года назад +4

      @@beesetti.d.ssubhash5075 if a method in a class is static, you'd need to create an instance of the class "Class1 class = new class()" in order to call the method, however if isn't static, you wouldn't need to to create the "Class1 class = new class()". You can directly call the method by writing Class1.method

    • @jumpz5561
      @jumpz5561 2 года назад +1

      does this make sense?

    • @AK-wc1cv
      @AK-wc1cv 2 года назад +25

      @@jumpz5561
      Or is it the other way round

    • @CodingWithJohn
      @CodingWithJohn  2 года назад +68

      Yeah it's the other way around. If it's static, you can (and should) call it directly on the class without creating an object. But if it's not static, you have to create an object and call the method on the object.

  • @alihaydarkaya3336
    @alihaydarkaya3336 2 года назад +22

    helloJohn, sometimes I’m having a language barriers but when you explain I don’t feel that. I appreciate it great explanation.

  • @InvinciRD
    @InvinciRD 11 месяцев назад +3

    The reason why i love this channel is the explanation is just like the way it's needed and basics are at-least a bit clearer than what we know already.

  • @ThatOtherAndi
    @ThatOtherAndi Год назад +1

    man i just stumbled upon your channel and im simply blown away by the quality of your content, it's gold

  • @yadnyeshdesai6652
    @yadnyeshdesai6652 2 года назад +3

    Hey John, you are providing a great educational value. Your videos always help to clear my doubts and understand the basics of Java. Keep it up. Thanks a lot.

  • @heetwarm7819
    @heetwarm7819 2 года назад

    After al those hours searching for explanations this is the only video I found helpful and entertaining!
    Keep it up!

  • @hexagonmagnetics569
    @hexagonmagnetics569 2 года назад

    The elephant in my text editor has been explained, thanks! I’ve watched a bunch of java youtubers, but you are indeed the most thorough with explaining java concepts!

  • @victoriagee1059
    @victoriagee1059 2 года назад +31

    0:23 no one quite says that. They just say they’ll discuss it later. Lol but you are such a good teacher. Happy I found you!

    • @kebbil
      @kebbil 2 года назад +10

      and never do

    • @nonnodacciaio704
      @nonnodacciaio704 2 года назад

      @@kebbil in any course you'll go over classes, methods and arguments, so you should be able to figure out what it does by yourself. Besides, they went over this in my course without even us asking

    • @vu5700
      @vu5700 2 года назад

      thats what your wife says the first time you are having sex with her

    • @theboss-by5gd
      @theboss-by5gd 2 года назад +1

      well ur lucky if they do.My teacher didnt say anything,she just said thats a default in java.So it really depends on the kinda teacher u hav

    • @pranavnyavanandi9710
      @pranavnyavanandi9710 2 года назад +1

      It's quite straightforward once you get into the language. Initially, they give a vague definition so you can go on with the learning.

  • @Catalyst313
    @Catalyst313 2 года назад

    I don't wanna underrate any of your other videos but this one (especially the introduction) really got me insanely immersed

  • @LaGrossePaulik
    @LaGrossePaulik Год назад +4

    Thank you so much!

  • @nick-yr7wu
    @nick-yr7wu 2 года назад +62

    You seriously deserve more subscribers. You are an amazing teacher, thank you John

    • @sabeennawaz1001
      @sabeennawaz1001 Год назад +3

      Yes, that's why I told all of my classmates about John. We call him "Java John"

  • @nobody_AskedMe
    @nobody_AskedMe 2 года назад +1

    I started watching your videos yesterday and I am subscribed now, very interesting explanations!

  • @charityg4786
    @charityg4786 3 года назад +19

    You are so enthusiastic when you teach. thanks for the lesson,it was easy to understand

    • @CodingWithJohn
      @CodingWithJohn  3 года назад +6

      Very glad to hear that, thanks for watching!

  • @felifrit
    @felifrit Год назад

    this is my favorite channel for clearing up Java concepts, thank you so much John

  • @ramyareddy6190
    @ramyareddy6190 2 года назад

    yours the first channel i subscribed after watching many others.. you are just too good to be on you tube. I love your videos.

  • @caffeinatedpanda1511
    @caffeinatedpanda1511 2 года назад +3

    the scenario at the beginning was LITERALLY MY EXPERIENCE. tysm

  • @mahodaadikari4116
    @mahodaadikari4116 2 года назад +1

    Your explanations are amazing. Keep up the good work. Wish you all the best ❤

  • @lastwish6428
    @lastwish6428 Год назад +3

    It feels good , when you already know all these stuff and still watching this complete video 🤗

  • @mythicaldata6297
    @mythicaldata6297 2 года назад

    Great video, when I was taking java at university I felt they had way too many analogies, that by the end of them I was just confused and bored, and didn't answer stuff like this fully
    glad to heard a nice clear explanation instead of something like "you'll learn that later"

  • @LanceLiebenberg
    @LanceLiebenberg Год назад +1

    Thanks so much bro. This honestly helped so much. Walking away a little more confident 👍

  • @mishellybelly
    @mishellybelly 27 дней назад

    I just started my BA in IT but going towards the coding route with my degree and currently in my first intro to coding class at my university and I thank you for your explanations! This is all super helpful.

  • @boulettefranck2627
    @boulettefranck2627 6 месяцев назад

    Three years later, i've "super appreciated" your video ! Thx 🤩

  • @samaravadi3
    @samaravadi3 Год назад

    I'm studying for my theory final in a couple days and you're helping me tremendously

  • @Noah-vm8id
    @Noah-vm8id 2 года назад

    This was a video I was always looking for when I was a beginner, thanks 🙏

  • @saptarshidey7672
    @saptarshidey7672 2 года назад +13

    Hello John, I really like the way you teach. Absolutely great!!!
    On similar lines to this video, students most of the time also think about the real stuff behind System.out.println(). Can you create a video explaining each part - What is System, out, println? Also the static nature of out and thus it can be used on top of the System class directly instead of an object.
    Cheers

  • @findlestick
    @findlestick 2 года назад +1

    Way to clearly explain things. Thank you. 👍

  • @Galasssss
    @Galasssss 8 месяцев назад

    Watching your videos bring me the feeling that I could talk to you drinking a beer and learning a lot of coding stuff for HOURS. You're funny and smart, and know properly what you're saying. Amazing

  • @evanmcgillivray8697
    @evanmcgillivray8697 3 года назад +4

    Thanks for the video! Great stuff man

  • @furkancakin1553
    @furkancakin1553 2 года назад

    Hi John !!! I have been following you and watching alllll of your Java tutorials all the time would love to meet one day if you are anywhere near east coast !! I realized in this video though you are very quiet 😊 are you trying to to not wake someone up at home ??!! 😛 you are great thank you so much for al the useful info ! I hope the best for you

  • @gregorriusadolphus2729
    @gregorriusadolphus2729 8 месяцев назад

    This was very helpful....I just started learning Java last night (I was a JavaScript guy) and this really cleared things up! Gracias!!

  • @anth0ni33
    @anth0ni33 Год назад

    This is a very fun and easy to understand explanation. I'm not even a java developer (learning c#) but I understood it perfectly. I've noticed java and c# share similar syntax tho.

  • @michalski9141
    @michalski9141 2 года назад +1

    havent watched the video yet but: public - the accessor, means the method is accessible in other classes; static - the class doesnt need to be instantiated to be called; void - the return type, it does not return anything; main is of course the name and it takes in command line arguments represented by an array of strings called args

  • @steveymcsteve0717
    @steveymcsteve0717 2 года назад

    Thank you for this. I was always wondering what it all did and I could never geta good answer.

  • @mattmartin26
    @mattmartin26 Год назад +5

    Finally, a clear, succinct, and helpful explanation!

  • @spancavil
    @spancavil Год назад

    Extremely useful! Congratz John.

  • @jonathanbyrdmusic
    @jonathanbyrdmusic 4 месяца назад +2

    “Args” is actually the sound I make trying to understand computer language

  • @FREDDYMAZENGE
    @FREDDYMAZENGE Год назад +1

    bro this video made me subscribe without any hesitations ...... l like the way you started your video

  • @colbyboucher6391
    @colbyboucher6391 2 года назад +7

    Might be good to note that those main args are typically used for advanced configuration options.

  • @hexagonmagnetics569
    @hexagonmagnetics569 2 года назад +1

    I would like a big o notation lesson on search algorithms! Please discuss the space and time complexities of various algorithms and their most suitable applications!

  • @henriquesenadev2194
    @henriquesenadev2194 2 года назад

    Great and simple video! Congrats and thanks

  • @user-dv1km1vk4b
    @user-dv1km1vk4b 11 месяцев назад +1

    Thank you a lot❤❤ you are really helpful and you are very understandable

  • @CodeKurdi
    @CodeKurdi 3 года назад

    you are Legend man, lesson with fun and a lot info:)

  • @JoseThomas-erpjose
    @JoseThomas-erpjose Год назад

    Wow, Never knew what it means. Super simple explaination

  • @anonimosilva6723
    @anonimosilva6723 8 месяцев назад +1

    Another clever idea: if it's an array of strings, you can also modify it to an array of integers! It works similarly!
    Thank you for this excential explanation!!

  • @gopalkannan4934
    @gopalkannan4934 Год назад

    Thank you. It is useful for interview

  • @elvispontes4165
    @elvispontes4165 2 года назад

    your videos are awesome!! Thanks a lot for sharing

  • @franciscogrosso6533
    @franciscogrosso6533 Год назад

    Amazing explanation, thank u so much!

  • @abdennadhermayssa1890
    @abdennadhermayssa1890 3 года назад

    Super clear great job and thank you

  • @katiescape
    @katiescape 2 месяца назад

    My mind always asks me 'why' and when I can't get the answers my learning shuts down, thank you for this explanation!

  • @MrSajjadgul
    @MrSajjadgul 2 года назад

    A must like from me for all of your videos.

  • @vodkaaaxxx
    @vodkaaaxxx 2 года назад

    well, you can explain the main name is because of the fact that the JVM is actually looking up the method via reflection. Basically you specify the class you run, for that class, reflection looks up for a method called exactly "main" with arg0 of type String[]

  • @shivjyotigarai2141
    @shivjyotigarai2141 Год назад

    1. jre calls the public main()
    2. static methods in a class can be called without creating an instance of that class. Just call MainMethodExplaination.main()
    3. void because does not return anything.
    4. String args[] => passing arguments as an input .

  • @samim7373
    @samim7373 Год назад

    Thank you for sharing, I was hopping you can explain it better than others, can you try to explain it with example for a beginners that we can understand it easily.

  • @tibettenballs4962
    @tibettenballs4962 2 года назад

    learning java has helped me realize the underworkings of languages. wonder what C++ would be like now (did it in high school 26 years ago.)

  • @mahodaadikari4116
    @mahodaadikari4116 2 года назад

    Super cool and amazing explanation 👏🏻❤

  • @davishek7
    @davishek7 2 года назад

    Neither college teachers nor the textbooks ever explained what args do. Thanks for the clear explanation.

  • @lavanyaan2158
    @lavanyaan2158 2 дня назад

    Thank you so much for the video 🙏🙏🙏

  • @musicvibes1146
    @musicvibes1146 2 года назад

    thanks john im a 7th grader trying to learn java this video helped out a lot thanks

  • @philbowden
    @philbowden 5 месяцев назад

    Thanks for this. Nicely done. One question I have is can you think of a realistic use case for assigning value to the String[] args array?

  • @bladezxc
    @bladezxc Год назад

    Very nice videos, thank you so much

  • @MrsWeasleyking15
    @MrsWeasleyking15 2 года назад

    this was so clear thank youu

  • @ROSUJACOB
    @ROSUJACOB 2 года назад

    Thank you John for the video.

  • @valoriebroderick
    @valoriebroderick Год назад

    It would be awesome if you could do a video just on the static keyword. Why would you use it besides in the main method and stuff.

  • @skylarngoi3262
    @skylarngoi3262 3 года назад

    Thanks for your explanation..

  • @yashchandak8016
    @yashchandak8016 6 месяцев назад

    Great explanation sir

  • @adelacristea153
    @adelacristea153 2 года назад +1

    Yep.... that was my teacher, like:" no more questions" :-/
    Thank you for this great video. :D

  • @michaelmai25
    @michaelmai25 Год назад

    omg...bro is better teacher than all my professors combined lol GREAT VIDEO!

  • @justinbanza4751
    @justinbanza4751 2 года назад

    Thank you very much for this video

  • @sandralane6379
    @sandralane6379 Год назад

    Wonderful thank you!

  • @sebon11
    @sebon11 Год назад

    Lovely tutorial!

  • @vigneshwaranr680
    @vigneshwaranr680 2 года назад

    Love your teaching. I mean it ❤

  • @user-pr9pq8en2d
    @user-pr9pq8en2d 2 года назад

    I love you man, I really needed this video.

  • @Mnogojazyk
    @Mnogojazyk Год назад

    Hello, John!
    How does one delimit the arguments args[x], one from another? How does one count the arguments? I expect there is a method to do just that.
    Nice explanation. Many thanks.

  • @Affiliation2Code
    @Affiliation2Code 5 месяцев назад

    Starting with Java 21, the days when we have to stop enthusiastic beginners from asking questions about 'public static void main(String[] args)' because it's simply too advanced for a first lesson, are finally over. Nevertheless, great explanations, keep going!

  • @k0.9486
    @k0.9486 Год назад

    I always hate the "just do it this way" teaching method. You never really know how to work around problems, only a few steps and well.....not all problems fit within those steps. Thanks for the video series on Java, by far the best I've found on YT.

  • @vineethgajjela747
    @vineethgajjela747 2 года назад

    thanks for the explanation

  • @saraproetti5039
    @saraproetti5039 10 месяцев назад

    you are amazing teacher! Thank you

  • @Mohanadxd
    @Mohanadxd 3 года назад +1

    John you are absolutely legend

  • @tobiassteindl7792
    @tobiassteindl7792 2 года назад

    Perfect, thank you

  • @pradiptonath4323
    @pradiptonath4323 2 года назад

    Great explanation

  • @stephanieezat-panah7750
    @stephanieezat-panah7750 Год назад

    hahaha! I had a really good chuckle, those first 30 seconds.
    "Don't ask! shut up, no don't! stop. Just do it, put it in there!"
    I was on the receiving end of that. Art imitates life, right?

  • @snich1950
    @snich1950 2 года назад

    Man. I have to tell your channel to my classmates, coz I'm having trouble explaining Java to them.

  • @akeemlouigarde4946
    @akeemlouigarde4946 2 года назад

    Thank you John

  • @fyh8848
    @fyh8848 2 года назад +6

    Interesting, thx. Btw, the word “main” is inherited from C language. main function is entrance point in C.

    • @10F2C
      @10F2C 2 года назад

      the
      int main{} thingy?

  • @ericamuhammad5082
    @ericamuhammad5082 2 года назад

    Thank you!

  • @TezlaByte
    @TezlaByte 2 года назад

    Haven't seen the video yet... But that's exactly what I asked yeaaars ago trying to do C#
    I never progressed.

  • @andreas_tech
    @andreas_tech 2 года назад +1

    I think that this style of explanation -
    starting from the absolute bottom first, explaining all this st*pid keywords (of this alien language ;) -
    is the best appraoch you can have.
    Even if it takes some minutes longer,
    it will clear out some questions that every newbie has at the beginning.
    [even better would be some history on WHY this or that keyword had to be invented...]
    Thanks man.

  • @suwatchainanchai6637
    @suwatchainanchai6637 2 года назад

    Do u have a video that teach about java command and show what the behind scene of the command working ? .and may be about maven and gradle that would be great too.

  • @ArjunKumar-zu2kl
    @ArjunKumar-zu2kl 2 года назад

    Brilliant John....

  • @albertosoto4280
    @albertosoto4280 2 года назад

    THANKS A LOT! People just saying "just copy this" was driving me nuts.

    • @CodingWithJohn
      @CodingWithJohn  2 года назад +2

      Glad it helped! When you're first getting started it can be kind of overwhelming and confusing to understand everything that's going on with it, so "just put it in there" isn't terrible advice for your very first program. But after a while it's valuable to be clear why it's all there.

  • @brijkumar8207
    @brijkumar8207 Год назад +1

    Hello
    I have search so many videos on public static void main. But this is the first one that is clearer. You made it lot easier. You have any courses I can take?

    • @CodingWithJohn
      @CodingWithJohn  Год назад

      Thanks! There's one linked in the description if you're interested. You can see all the content that's included and watch a few lessons free before you buy anything.

    • @brijkumar8207
      @brijkumar8207 Год назад

      @@CodingWithJohn I already code but I get confused on how to start

  • @duongvutung2876
    @duongvutung2876 Год назад

    Thank you

  • @m.morotha7095
    @m.morotha7095 2 года назад

    Thank you,

  • @sasa-bv9gu
    @sasa-bv9gu 7 месяцев назад

    Great video! Though I've got one question left. How do I pass multiple arguments (so that the args array contains more than one string)?

  • @davannaleah
    @davannaleah Год назад

    If you could, please add to this about having multiple arguments rather than just one.

  • @danielnoguera2219
    @danielnoguera2219 2 года назад

    Thanks a lot! Cheers from argentina

  • @Imsulaf
    @Imsulaf Год назад

    The story in the beginning is so accurate

  • @bacon37460
    @bacon37460 Год назад

    Perfect John, please upload design pattern serie in JAVA.

  • @alexzink4451
    @alexzink4451 6 месяцев назад

    Hello, Sir! We'd all really appreciate if you break down SOLID on this channel, especially LSP🙏🙏🙏

  • @codyj07161989
    @codyj07161989 Год назад

    "It's kind of like saying hey I'm a great program and the JRE goes 'great how can I run you'? and he's like you can't. Only I can run me." "and that's a pretty useless program".
    This statement while maybe not intended to be interpreted nor regarded in this way is full of wisdom not only in regards to coding but when applied to life in general, lol🤣. 10/10. Just wanted to point that out. Thank you for all the vids John, you're helping me a lot.