Java Interface Tutorial #78

Поделиться
HTML-код
  • Опубликовано: 6 сен 2024

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

  • @alexlorenlee
    @alexlorenlee  10 месяцев назад +3

    If you’re new to programming but want a career in tech, I HIGHLY RECOMMEND applying to one of Springboard’s online coding bootcamps (use code ALEXLEE for $1,000 off): bit.ly/3HX970h

  • @xdragonflame6563
    @xdragonflame6563 4 года назад +521

    You are literally the only youtuber that I understand in the subject of Java. College professors are very vague and don't teach well. I am sure you will become a big channel someday. Thank you for helping me and thousands of other people learn java.

    • @alexlorenlee
      @alexlorenlee  4 года назад +33

      xDragonFlame thanks for the kind words :) you’re welcome!!

    • @jamesbrooks9321
      @jamesbrooks9321 4 года назад +10

      I don’t know why it’s so hard to find more java instructors, there are plenty of good JavaScript and php videos but when it comes to java no one is doing this

    • @leif1075
      @leif1075 4 года назад +1

      @@alexlorenlee Cam you just add the interface with some code so that you don't have to add each method manually one by one like you had to with fill and pour out?

    • @simiiv5021
      @simiiv5021 4 года назад +4

      Exactly what I was gonna comment. Alex, you are amazing!

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

      Actually every method in Interface is public and abstract. Abstract methods does not contain method body. We need to implement the abstract methods by using child classes. Here InterfaceExample is the child class of waterBottleInterface(interface).

  • @asleyeizmendiz331
    @asleyeizmendiz331 3 года назад +237

    I would love that you would have said :
    All methods in an interface are abstract.
    All methods in an interface are automatically public. The keyword public does not appear.
    Interfaces do not have instance variables because no objects of the interface type can be created!
    Any variables declared in an interface are automatically public, static, and final (i.e. constants). For that reason, these keywords should not appear in the declaration.
    for example.

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

      Good details. Thanks.

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

      thanks for additional information.

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

      very late but thanks for adding this :)

  • @turuus5215
    @turuus5215 2 года назад +26

    IMO, "Alex Lee" and "Coding with John" are the best 2 channels for Java learners. They teach infinitely better than most college professors.

  • @deziqn-_-beasto720
    @deziqn-_-beasto720 4 года назад +52

    Thank you sir. My professor was rambling for 45 minutes and couldn’t explain what you explained in 6 minutes

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

      Best teachers will be online. Just wait. The future will pave the way. I can’t wait for the school system to break down and we get into real learning.
      Sovereign individual will come.

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

      @@jamesmonto9562 amen brother

  • @latedeveloper7836
    @latedeveloper7836 2 года назад +46

    0:56 Definition of an interface (an outline for a class) and implementation
    2:10 Outline of what the example interface can do (attributes)
    2:30 Implementing the interface
    3:15 Implementing the example method from the interface (fillUp)
    4:12 Use an interface when you want to use an example outline/template of a class that you don't need/want to create
    5:20 What happens when we implement an interface

  • @HugoCornellier
    @HugoCornellier 4 года назад +122

    Your videos are the best Java videos on RUclips, thank you so much!

  • @blitzbladerr9035
    @blitzbladerr9035 4 года назад +12

    It all clicked when you said an interface it more of a guideline or template. It is not necessary but more useful for setting up a new class that 'inherits' variables and needs these methods defined in its own class.
    Thank you

  • @RippedMoFuCk
    @RippedMoFuCk 3 года назад +21

    Many smart students who feel like abused by their terrible teachers come here and have found you, myself included. And thank you for existing. It's great having a place where you know the comments is filled of like minded people going through exactly what you are, and a teacher who knows how bad teachers generally are at teaching strangely simple but over-complicated concepts.

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

    You know what I really appreciate is that sometimes I feel really dumb for not understanding things from the beginning and when you said you had no idea why interfaces were used till after college it kinda gave me a little support.Thank you for this channel and your content Alex

  • @aimannajah3165
    @aimannajah3165 4 года назад +18

    Man you are the GOAT! Thank you so much for your help!!!!!! You really make everything far more clear and simpler than I thought it was

  • @ahrarcorson6452
    @ahrarcorson6452 4 года назад +39

    Perfect! missed my lecture about this, you covered it in less than 10 mins for me to understand, appreciate the help man!

  • @Ap-fl2zi
    @Ap-fl2zi 4 года назад +10

    Thank you! Definitely needed a refresher on this! I have my first interview next week

  • @kevinadrianperaza3179
    @kevinadrianperaza3179 4 года назад +10

    Keep it up with the good work man, you are a college savior, really enjoy your content

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

    Just echoing the rest of the comment section, but as a complete java novice, the interface concept was the first rudimentary concept that just didn't immediately click for me. Wasted far too long trying to figure it out on my own, thank you so much for this video. Clear, quick, and well delivered. Excuse me while I watch all your other content. =)

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

    You explain much better than the books and other people on the channel. Short & straight to the point.

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

    Thanks a lot Alex, for everyone the short-cut of System.out.println() is type sysout + hit buttons ctrl+space.

  • @mysteriousunknown586
    @mysteriousunknown586 4 года назад +19

    Idk man. The word "interface" sounds pretty cool to me. For some reason it reminds me of the future.

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

      "I'll create a GUI INTERFACE in Visual Basic to see if I can track an IP address"

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

      To be reminded of the future is a little paradox, isnt it?

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

    When it comes to Python, I RUclips whatever i want to learn, that are bit complex and it pops up.
    But for Java not the case, rare videos on youtube.
    Thank god i found this guy

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

    You did an excellent job explaining. “An interface is an outline of a class”. Easy to remember. Thanks!

  • @mohamedelkhallifi1910
    @mohamedelkhallifi1910 7 месяцев назад

    Welcome back! I've been following you since 2021, and I have to admit, hearing that you were taking a break from making new Java videos made me a bit sad. However, seeing you back in action now brings so much joy! I absolutely love your videos and the way you effortlessly explain complex concepts.
    I appreciate your content.

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

    Love this! No extra stuff, just straight to the point! Thank you.

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

    I only watch your videos. You've helped me with a lot of my assignments. Thank you so much, Alex!

  • @asimenibhavya6423
    @asimenibhavya6423 4 года назад +1

    I feel lucky to end up here and brushing up my Java knowledge (Y) Thank you :)

  • @so9032
    @so9032 4 года назад +1

    I tried to learn Java with many different videos and had hard time understanding it. You explain everything so easy! I learned so much from you. Thank you so much

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

    I'm taking AP Comp Sci right now and your videos really do help. Thank you!

  • @sweekarbhattarai8838
    @sweekarbhattarai8838 3 года назад +21

    When he said, "For firve years I had no idea what Interfaces were...."; I was like: Thank God, I am not late! xD

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

    You are literally the only youtuber that I understand in the subject of Java

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

    i know im late but dude your videos are awesome. I'm learning Java at my bootcamp and I've watched like 6 of your videos and they all helped tremendously! everytime im watching your videos it feels like a close friend is explaining these topics to me lol thank you!!!

  • @TheGbossTV
    @TheGbossTV 4 года назад +6

    Thanks you so much man I appreciate it. In college (I live in Portugal) my teacher is spanish and doesn’t speak portuguese so I can’t understand jack shit of what he’s saying. Thank god you exist

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

    Thanks for keeping these videos up, mid term in a few hours and I've been going over your videos since last night. Thank you.

  • @muluhmuluh8556
    @muluhmuluh8556 4 года назад

    What this guy does is unbelievable...He makes things too easy to be true

  • @karimnabilsi3787
    @karimnabilsi3787 4 года назад +1

    Thank you so much, Alex, you are a great person to come back to when not understanding things about coding, although you can dive deeper into these things in other videos, I am still thankful that you are here to help. I hope one day you become a well-known channel that many people come for help to.

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

    This is some real content bruhhh
    I was not able to understand this topic until this video
    Thanks.

  • @stone_pilot
    @stone_pilot 4 года назад

    Thank you so much. You make learning Java so painless and even fun. I dread reading boring and horrible explanations, and yours are nothing of the sort! It makes my time feel worthwhile.

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

    Alex thank you so much for all the wonderful videos you have helped me so much on topics that I only halfway understand. After watching your videos I always feel like a more confident beginning coder

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

    Your video is more helpfull to me.... U told in very easy way how to create Interface...keep doing your work

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

    Alex you are getting me through this degree, glad I dont have to resort to cheating and I can rely on you!

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

    literally the number one person I come to for java and for good reason. Thank you :')

  • @professord.dragon3591
    @professord.dragon3591 3 года назад +1

    You feel like you are at my level and 1000 levels above my level, at the same time. It's comforting actually.😂😂

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

    Thank you! Your videos are the best Java videos on youtube

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

    Thanks Alex! I'll be sitting for my Java certification test at the end of the summer and your videos are helping a lot!

  • @postnubilaphoebus96
    @postnubilaphoebus96 4 года назад +4

    Although that's certainly a good explanation, I would have like if you also explained the reason behind interfaces. That is, why do we need interfaces when we have abstract classes?

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

      Check out this article if you are still wondering: www.tutorialspoint.com/when-to-use-an-abstract-class-and-when-to-use-an-interface-in-java

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

    Honestly,thank you sooo much......you are just saving my life in each video you make ...soooooooo😂😂do what u do ❤️❤️❤️❤️❤️

  • @iwatchedthevideo7115
    @iwatchedthevideo7115 4 года назад +1

    Great videos and explanations! I'm learning 10x times more than in my classes at school. Keep up the good work!

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

    Lee, you're amazing!! Get back on your channel RIGHT NOWW!

  • @vincent7487
    @vincent7487 4 года назад +1

    I was so confused about interfaces. It's basically a fancy term for a blueprint, just like a class is a blueprint for an object.

    • @rukna3775
      @rukna3775 4 года назад

      Class is blueprint for an object.

  • @brabbelback2757
    @brabbelback2757 4 года назад +6

    Your keyboard sounds unbelievably satisfying!!! What is it?

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

      Probably a red or brown switch mechanical keyboard.

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

      Sorry to disagree with you. It’s definitely not a brown switch of any kind, nor do I think it’s mechanical. The soft thumpy sound is a short travel distance membrane key. Likely to be the MacBook keyboard. Could be completely wrong. Fish around his videos to see if he has any camera angle of his typing.
      Edit: ruclips.net/video/JopvFT8pv-U/видео.html Topre, damn was I wrong hahah

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

    Great Video
    Just some suggestions for better understanding
    Keep the main class and main method as it is.
    create one interface and another class that implements it
    Use a real example:
    Eg: The interface is a calculator and class that is implements the operations for a calculator.
    Great Video :)

  • @tntdogs6910
    @tntdogs6910 4 года назад +5

    Difference between Abstract classes and Interfaces?
    What happens if I use an abstract class and dont implement a method, or how can I go about implementing it's default value

    • @prajilm4617
      @prajilm4617 4 года назад

      Interface is nothing but a fully abstract class (abstract class in which all methods are abstract). whereas a partial abstract class is one in which some of the methods are abstract and some are concrete (have implementations). Java has a rule that a class can extend only one abstract class but a class can implement more than one interface. This can be used to simulate MULTIPLE INHERITANCE in java. Answering your second question, Subclassess which extends an abstract class must implement all the abstract methods. Otherwise, they should be made abstract as well.

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

    why did you stop creating java content !!!! been looking for you. i need your video on MAP, ARRAYLIST,LINKEDLIST,HASHSET, your videos have been life saver for me

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

    how about two different type of methods in interface. like void fillup() and int num();

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

    5:49 that is what "I" in SOLID for. Interface segretation. You must tend to make more specialized versions of interfaces because implementing all the methods can be cumbersome. But you can use interface inheritance to combine interfaces if you need, and, in this case, you have specialized interfaces and combined ones as well.

  • @lexclock
    @lexclock 4 года назад

    man I love ur videos u explain everything so clear and concise...I hate when there is a 20 min video with bla bla bla.... Greetings ¡

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

    You are just awesome, seriously. When I have to submit new task, I always check your videos for particular theme. I like how you go straight to the business without talking a lot about the theory. Thanks a lot! Subscirbed immediately!))

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

    You make the best Java videos, never stop making them..♥

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

    your tutorials SAVED ME!! I appreciate you so much thank you!

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

    You are awesome.. keep up the good work ❤❤🔥🔥🤟🤟

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

    Thanks. Was at it for over 2 hours cuz had to use interface in the project. Now you made it easy now I feel stupid .

  • @joshualippss
    @joshualippss 4 года назад

    I know how to do it now, but i dont know for what...great!

  • @lazymacs2823
    @lazymacs2823 4 года назад +21

    You just explained how to use it but not why and when to use it. I'm still confuse.

    • @ilejovcevski79
      @ilejovcevski79 4 года назад +95

      It's mostly used for solving the multiple inheritance problem in java. I hope he makes a video about it.
      If new to java, the inheritance problem is that each class in java can have only one parent (master class). So in example, a dog-class is a sub-class of an animal class. So we declare it as dog extends animal. Now out dog has all the properties and methods that the animal class has. But what if we want to treat our dog as something else at the same time? Say, a pet? Then we write a pet interface. And now we declare our dog as dog extends animal implements pet. Now our dog can have methods and variables from both the animal class and the pet interface.

    • @DudeimproS
      @DudeimproS 4 года назад +4

      @@ilejovcevski79 great explanation thank you

    • @ilejovcevski79
      @ilejovcevski79 4 года назад +1

      @@DudeimproS a pleasure mate!

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

      @@ilejovcevski79 School gave me 144PowerPoint slides, and i still had no clue.
      But this explanantion... damn thanks dude
      !

    • @ilejovcevski79
      @ilejovcevski79 4 года назад +1

      @@destra6160 glad to have been of help mate!

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

    With multiple inheritance, if multiple parent classes have the same method name and their own implementation, it doesn't know which one to execute leading to ambiguity. To solve this problem, interface comes to the rescue. So, with interface, you can implement multiple interfaces to a class but the rule is to define the implementation in the current class not in the interfaces. Correct me if I'm wrong.

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

    Thank you for clearing this up, you videos are always so easy to follow keeping explanations simple and relatable.Cheers!

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

    Thanks Alex, All the way from Patna, India.

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

    Is it right to think of the interface as "This is what this type of object does"?
    The methods are listed, but left blank because each instance of the object (each time we implement the interface) may perform each method a little differently. A tea Cup may pour differently than a measuring cup. However both are Implementing the Cup interface and using the methods their own unique way.

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

    ik this is an old video but can anyone tell me how we use the LIst interface like how is it able to take in multiple types of lists and the general use of those types of interfaces where we dont implement but use them in the code

  • @ilejovcevski79
    @ilejovcevski79 4 года назад

    Please make a video about the use of interfaces when solving the inheritance problem in java. I think it's what they are used for the most.

  • @unchatmagnifique
    @unchatmagnifique 4 года назад +1

    Hi, interesting and understated topic. Please upload a new video explaining Interfaces and Polymorphism which is the real purpose of interfaces. e.g. instead of referencing straight to the class to be able to reference to the interface.

  • @ARMYRIFLES46
    @ARMYRIFLES46 4 года назад +1

    Whats the difference between using an Interface and inheriting methods from an abstract class?

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

    it is not a good practice to have attributes inside your interface, but if you do they are public static and final.

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

    Please make a video about Java Annotation
    This is really important but I can't see in your videos
    I really love your videos

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

    I was looking for a simple example and explanation on this and it helped so much! thanks!

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

    Can you do a tutorial on marker interfaces? I've never encountered anything so abstract!

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

      as a beginning to know the purpose of your existence in this life.👇 .My friends, search for your life purpose, why are we here?? I advise you to watch this series ruclips.net/p/PLPqH38Ki1fy3EB-8xmShVqpbQw99Do2B-

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

    bruh light mode !! nice tutorial 💖💖

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

    This was very helpful. I practiced along side with you and l got a lot out of it. I will say though technically can't you avoid forcing the class implementing the interface to use every method in the interface by setting the access modifier of any methods not required as default?

  • @ivosrbakoski1151
    @ivosrbakoski1151 4 года назад

    Awesome explanation , easy to follow and understand.
    You can grow with educational videos, because ppl can understand you well.

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

    Wow thank you man this is so easy to follow

  • @Mariam_PinkLotus
    @Mariam_PinkLotus 4 года назад +1

    Hi Alex! Love you videos. Could you please make a video about SUPERCLASSES and INTERFACES. Do not see any difference between them. Thank you again! :)

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

    Thank you very much. you make everything easier ...

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

    Man you are awesome :) super clear explanation. Thanks

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

    Keep up Mr Alex, your videos are really improving my programming knowledge,,,,

  • @Lucas-qc3yf
    @Lucas-qc3yf 4 года назад +1

    Hey, how i can set a Char color without JFrame, buttons, etc... only in eclipse console? For example: I have a Char 'Z' of zombie and i have to set this char to green on console, how i can do this? Thanks

  • @Eurotool
    @Eurotool 4 года назад +1

    Huh why are 360p and 1080p available but not 720p

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

    I think It is worth mentioning how the @Override thing on top means you will be re-writing a method from somewhere else. In this case you are re-writing the methods from the Interface. Have a good day.

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

    Funny how your 6 min vids do a better job than a 30min vid explaining the same concept

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

    Bro.... that opening statement... hahahahaha completely killed me

  • @Rachel-hi3yv
    @Rachel-hi3yv 3 года назад

    Thank you so much Alex!! You are a fantastic teacher.

  • @DigitalPulsewithVishal
    @DigitalPulsewithVishal 4 года назад

    You have insightly explained Alex....I got it understood very well...nice try.

  • @siddhigupta4044
    @siddhigupta4044 4 года назад +1

    Hi, Could you please make a video on path and classpath?

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

    Thank you very much. It was extremely helpful.

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

    I appreciate you.
    Your videos are great, simple and useful.

  • @gaigerharr6980
    @gaigerharr6980 4 года назад

    it took me 3:49 minute to understand interface thank you.

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

    Just to get this straight: The purpose of an interface is just to create a blueprint for classes that implement it by setting a few static variables and saying which methods must be present?
    I kinda get all that but I still struggle to find a real world application for this.
    The only thing that comes to mind is to protect "global" variables within the interface instead of using public variables but the abstract methods don't make any sense to me. Is it just that if you have a huge program that you follow your pre-designed patterns?

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

    Did I say thanx for your vids? So helpfull!

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

    can you make more video on this topic with more examples please

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

    Hello Brother thanks for share with us, I really really appreciate your knowledge about coding but I really really need your advice because I have not an idea to solve my problem. My problem is " I don't know where I am creating codes for integration between 2 software or more than that. I am stuck in this. Can I use Jave to create codes for connecting or integrate Autodesk software?
    Thank you so much for helping me, I will remember you are my adviser all the time.

  • @eshah3895
    @eshah3895 4 года назад

    Interface was so confusing for me, but thanks for your nice and simple explanation Mr Lee.

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

    I saw somewhere that Interface is used to work with multiple inheritance because C++ supports multiple inheritance with classes, but java don't. Then to solve this problem, Java uses Interface. I am still trying to understand it. I hope to see something more detailed later in this chanel.

  • @AMANMUJAWAR-sq6qv
    @AMANMUJAWAR-sq6qv Год назад

    Thank_u_Brother you made my concept easy keep growing😀😀😀😀😀😀

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

    Great video, but I would keep the main method in a seprate class, kids might get confused, when you create an instance, of a class, itself, within it's own main method.