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

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 287

  • @SponkADonk
    @SponkADonk 3 роки тому +387

    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.

  • @caffeinatedpanda1511
    @caffeinatedpanda1511 3 роки тому +5

    the scenario at the beginning was LITERALLY MY EXPERIENCE. tysm

  • @nick-yr7wu
    @nick-yr7wu 2 роки тому +66

    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"

  • @InvinciRD
    @InvinciRD Рік тому +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.

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

  • @victoriagee1059
    @victoriagee1059 3 роки тому +35

    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 роки тому +12

      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.

  • @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!

  • @lastwish6428
    @lastwish6428 Рік тому +4

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

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

    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 .

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

  • @mishellybelly
    @mishellybelly 4 місяці тому

    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.

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

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

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

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

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

    Thank you so much!

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

    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

  • @michaelkennedy5126
    @michaelkennedy5126 3 місяці тому

    Thank you for explaining public static void main and how to use that args array!

  • @mattmartin26
    @mattmartin26 Рік тому +5

    Finally, a clear, succinct, and helpful explanation!

  • @colbyboucher6391
    @colbyboucher6391 2 роки тому +7

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

  • @anonimosilva6723
    @anonimosilva6723 Рік тому +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!!

  • @rajithlahiru5580
    @rajithlahiru5580 2 місяці тому

    Top 2 Teachers in You tube.
    The Cherno, Coding with John
    Thank you John!!

  • @albertosoto4280
    @albertosoto4280 3 роки тому

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

    • @CodingWithJohn
      @CodingWithJohn  3 роки тому +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.

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

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

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

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

  • @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?

  • @k0.9486
    @k0.9486 2 роки тому

    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.

  • @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!

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

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

  • @brijkumar8207
    @brijkumar8207 2 роки тому +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  2 роки тому

      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 2 роки тому

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

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

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

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

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

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

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

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

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

  • @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!

  • @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"

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

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

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

  • @Affiliation2Code
    @Affiliation2Code 9 місяців тому

    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!

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

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

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

    Java:
    class MainClass {
    public static void main (String [] args) {
    System.out.println("Hello World");
    }
    }
    Python:
    print("hello world")

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

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

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

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

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

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

    The bottom line is use the "main " as it is... it was amazing.

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

      Yep, just use it as it is. But it's good to know why it is how it is!

  • @jonathanbyrdmusic
    @jonathanbyrdmusic 8 місяців тому +2

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

  • @gunuk123
    @gunuk123 4 місяці тому +1

    Imagine you’re baking a cake:
    So, public static void main(String[] args) means:
    public: Anyone can use this recipe.
    static: You don't need to make a whole cake to read the recipe.
    void: The recipe itself doesn't give you cake.
    main: This is the name of the recipe.
    (String[] args): This part is like optional ingredients that you might add to the recipe.

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

    Extremely useful! Congratz John.

  • @JoseThomas-erpjose
    @JoseThomas-erpjose Рік тому

    Wow, Never knew what it means. Super simple explaination

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

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

  • @philbowden
    @philbowden 9 місяців тому

    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?

  • @evanmcgillivray8697
    @evanmcgillivray8697 3 роки тому +4

    Thanks for the video! Great stuff man

  • @heetwarm7819
    @heetwarm7819 3 роки тому

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

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

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

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

    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.

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

  • @findlestick
    @findlestick 3 роки тому +1

    Way to clearly explain things. Thank you. 👍

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

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

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

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

  • @ob0-china
    @ob0-china 11 місяців тому

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

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

    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.

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

    Could you please make a video explaining each part of System.out.println()? Thank you

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

      It's a method called println(), which is part of the *out* field in the System class. "Out" in this case is an instance of PrintStream.

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

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

    Thank you. It is useful for interview

  • @steveymcsteve0717
    @steveymcsteve0717 3 роки тому

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

  • @Mohanadxd
    @Mohanadxd 3 роки тому +1

    John you are absolutely legend

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

    The story in the beginning is so accurate

  • @Noah-vm8id
    @Noah-vm8id 2 роки тому

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

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

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

    Interestingly, the designers of Java could have opted to return an int from the main method (instead of void) to indicate to the OS the state the program completed in e.g. success, failure etc.. You can actually specify such an int when you call System.exit to exit the program.

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

      I was wondering about that. I've been learning a lot of C lately and having your main function return an exit code seems to be the standard there.

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

      It does return a code based on the success in Intellij IDEA I haven't tried in other IDEs so idk about others

  • @alexzink4451
    @alexzink4451 9 місяців тому

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

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

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

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

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

  • @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?

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

    Great and simple video! Congrats and thanks

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

    Amazing explanation, thank u so much!

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

    Unlucky for them or those then. Our good prof (but can be mean sometimes) explains it. And I think the very first thing also.

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

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

  • @MUZICSTATION1
    @MUZICSTATION1 9 місяців тому

    Hi John, I've one doubt
    Can we use (Object[ ] args) instead of ( String [ ] args) in main method.
    If we execute that program by add Object[] will not give output, why? 😅

  • @LBCreateSpace
    @LBCreateSpace 16 днів тому

    This was very helpful, thank you

  • @AdarshKumar-vt7wc
    @AdarshKumar-vt7wc Рік тому

    a doubt
    there is static main which means it isnt a static block it is a static method .static methods just get loaded when they are called not executed on the other hand static blocks loads plus executes. so would u say it would be wise to use
    public void main(string args);
    and then static
    {
    //code
    }

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

    Sir please upload some on spring boot course

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

    Can you do a series on backtracking and dynamic programming

  • @fredericoamigo
    @fredericoamigo 3 роки тому +14

    Definitely demystified a lot of things for me here! Super useful vid for me who is learning Java coming from python :-)

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

      Mee too, coming to Java from Python. 😊
      Initially, I would do a lot of comparison between the two.

  • @lavanyaan2158
    @lavanyaan2158 3 місяці тому

    Thank you so much for the video 🙏🙏🙏

  • @MrSajjadgul
    @MrSajjadgul 3 роки тому

    A must like from me for all of your videos.

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

    Thank you John for the video.

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

    Great explanation sir

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

    you are amazing teacher! Thank you

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

    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.

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

  • @skylarngoi3262
    @skylarngoi3262 3 роки тому

    Thanks for your explanation..

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

    Is there a library equivalent to Python's argparse?

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

    one question, if you don't intend on passing arguments for that array of strings can't I just not put them and say "public static void main( ) {
    }"? because they would be of no use to me, main would never recibe said parameters so why have them there as if there was going to be something eventually

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

    Can you do a tutorial about downloading java

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

    your videos are awesome!! Thanks a lot for sharing

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

    Perfect John, please upload design pattern serie in JAVA.

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

    That's actually the first thing any Java crash course tutorial should explain, but instead they just say: "That's the way it is". SMH... Anyways, amazing video as always. 👏👏👏👏

  • @bryangonzales4145
    @bryangonzales4145 3 роки тому

    0:00 Yup that "somebody" is my Teacher.

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

    English? Jre? Instance? Method? What is static like? Sits still? What if I wanted #s, not strings?

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

      you really though he would explain every single part of OOP in Java in this video? it would take literally 4-5 hours

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

    Hmmmm, I love chimichanga and my favorite place to eat that is at this joint by Prairie View, TX.

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

      Ahh I live nowhere near there but will have to check it out

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

      @@CodingWithJohn if you ever happen to be in TX let me know. I can show you a few spots and I got you for chimichanga.