Guys like Jason make this world better. As far as I can tell, he just felt like making this video for the good of others. Not bad, not bad. Thumbs up, quality stuff!
I really wished i studied in the US. You guys really have the gift of presenting and explaining something in a way no other can, hands down to you Jason and to your fellow citizens.
Thank you for this. I love how you structured it. You explained it then re-iterated with examples to help answer questions I had but once I saw it, it all came together. Thanks so much!
Earned my sub with the meatball joke, I thought about him when you were explaining the abstraction of "animal" without any definition/conformity to variables
I'm taking the Stanford CS106A online course, and it's been great so far (learning a ton of stuff...). But the only thing I really couldn't get my head around was the way interfaces actually work. Even the almighty book ("The Art & Science of Java") didn't give a clear enough insight on the subject. Your 20 min video just did a magic trick on my brain! Thanks a lot!!
This is a very useful and clear explanation. I do have one question, though: why is multiple inheritance supported for interfaces but not for classes? I understand the diamond problem with multiple class inheritance, but why is this no longer an issue when you try to implement multiple interfaces?
THANK YOU man for uploading a video with a sooo very clear english.!! sorry to sound racist, but youtube is full of indian ppl trying to teach and i have some really hard time to understand them, please keep posting this material!
Rodrigo Alarcón DUDE I KNOW like this is one of the few videos im like trying to study for somp sci and im indian and I still dont know what the hell they are saying
In this rough world you either learn to understand Indian English...., or you die and ignorant programmer. I didnt made the rules. BTW Im not Indian, Im latino, so for me its not as easy to understand.
Thanks, fantastic explanation! Also really good that you added the "Compiler enforced standardization" part. Because I didn't understand why it made sense to add extra restrictions (when using interfaces) if you had to define the methods in the class anyway. Nice if things make sense. :)
Can you just use super(); to call the constructor of the abstract class? //nevermind this - the video answered the question already - no you cannot. It's not meant to be run. By the way, this is a great video on Abstract classes and interfaces. So much better than any other video out there on youtube. In fact in 26 minutes you made this crystal clear for me.
Note that you can provide implementation in an interface if you use the key words default or static. Also, interfaces can extend other interfaces(not sure if that was mentioned).
Great video! Even though I am more concerned with how this works in PHP, this has helped me understand abstract and interface classes in more detail. One thing I don't get is how do you know which classes should be abstract, interface or standard? Take the example below of vehicles. How do I know which parts of that hierarchy should be which type of class (albeit, I'm sure "vehicle" is probably an abstract super class). Vehicle -> Motor Vehicle -> Automobile -> Car -> Sedan Thanks!
public abstract class Vehicle{ public void travel(){ // Code for travelling... } public abstract int Weight(); } public interface IUseFuel{ string GiveFuel(); } public interface IUseElectricity{ string GiveElectricity(); } public class Car extends Vehicle implements IUseFuel{ public int Weight(){ return 500 Kgs; } public string GiveFuel(){ string fuel = "petrol"; return fuel; } } public class Train extends Vehicle implements IUseElectricity{ public int Weight(){ return 500000 Kgs; } public string GiveElectricity(){ string power = "electricity"; return power; } } Hope I helped!
So basically inheritance allows you to copy and paste types (boolean, int, String) of code so that you can declare values for said types in the classes your implementing the inheritance in ( boolean true, String" ", int 22324;). Sounds pretty good.
Who in the world down voted this?!?! You are the perfect combination of engaging, informative, and personable. If you made a video on basket weaving I would watch it. #SubscribedForLife
Thanks, It is good explanation with good simple code example. Can you please share simple real time program example website?? I need to check how they do use from first to end. Thanks for sharing most important things in Java
absolutely great video. especially using UML to help describe the ideas of what is going on! is a interface able to extend another interface or implement another interface though??
Best explanation I could find on youtube so far . Thank you!
Guys like Jason make this world better. As far as I can tell, he just felt like making this video for the good of others. Not bad, not bad. Thumbs up, quality stuff!
This is a perfect video to use as a refresher before a coding interview; VERY comprehensive. Thanks!
You are Awesome. PERIOD. After hours of research, finally someone who can explain this concept!
Outstanding explanation! Simple, clear, straight-to-the-point.
Best explanation of abstract vs interface. Thanks Jason
I really wished i studied in the US. You guys really have the gift of presenting and explaining something in a way no other can, hands down to you Jason and to your fellow citizens.
damn been such a long time now. Where are you now? Did you make it in life?
You explained it so much easier to understand than anything they teach us at school. Thank you so much!
Outstanding explanation! Thank you very much. All the concepts were clearly and well explained.
He did a really good job, finally i get and one very important feature of an interface, is its polymorphic behaviour 👌
Thank you for this. I love how you structured it. You explained it then re-iterated with examples to help answer questions I had but once I saw it, it all came together. Thanks so much!
Earned my sub with the meatball joke, I thought about him when you were explaining the abstraction of "animal" without any definition/conformity to variables
I'm taking the Stanford CS106A online course, and it's been great so far (learning a ton of stuff...). But the only thing I really couldn't get my head around was the way interfaces actually work. Even the almighty book ("The Art & Science of Java") didn't give a clear enough insight on the subject.
Your 20 min video just did a magic trick on my brain! Thanks a lot!!
Lifesaver video, 100 times better than the course i am enrolled in. Thank you so much.
Well done explaining. I have been watching video after video and you did the best when explaining abstracts and Interfaces.
After multiple videos, this one finally cleared it up for me, thank you! Now to find an abstract animal...
Hands down the best explanation on youtube.
Amazing teaching skills! You're a natural!
This is a very useful and clear explanation. I do have one question, though: why is multiple inheritance supported for interfaces but not for classes? I understand the diamond problem with multiple class inheritance, but why is this no longer an issue when you try to implement multiple interfaces?
Thank you so much for this. Very explanatory. Prof didn't even come close.
Very Simple and Precise Explanation. Thanks Jason! :)
One of the most perfect explanation of one of OOP basic concepts
thankyou after searching for an hour your expanation is best among all!!!!!
Brilliant explaining and examples. Thanks so much!!
Please don't stop creating such videos. You are an amazing tutor.
been 8 years, i guess i feel the same.
Very Nicely explained.. thanks !
Excellent and outstanding explained......
great video, thank you! will be checking out your other videos soon!
Good job man, this is very clear and easy to understand. Many thanks!
6 years later still best explanation
Wow still the shortest and the best explanation I could find.. Thanks!
You are the best my friend!!!
Thank you very much. I more understand what does abstract and interfaces do. You saved me for my Exam Tomorrow. Thank you a lot.
Clear explanation. Thanks Jason!
THANK YOU man for uploading a video with a sooo very clear english.!! sorry to sound racist, but youtube is full of indian ppl trying to teach and i have some really hard time to understand them, please keep posting this material!
I know what you mean lol. I'm indian too and I have hard time understanding them lmao
Rodrigo Alarcón DUDE I KNOW like this is one of the few videos im like trying to study for somp sci and im indian and I still dont know what the hell they are saying
its hard to explain something in english when your first language aint english
In this rough world you either learn to understand Indian English...., or you die and ignorant programmer.
I didnt made the rules.
BTW Im not Indian, Im latino, so for me its not as easy to understand.
Thanks, fantastic explanation! Also really good that you added the "Compiler enforced standardization" part. Because I didn't understand why it made sense to add extra restrictions (when using interfaces) if you had to define the methods in the class anyway. Nice if things make sense. :)
Simple explanation and implementation, nice video.
Great video and very clear explanation! Thanks so much.
You are awesome! Great explanation, Thank you very much!
Very accurate, keep posting regarding OOP and Java language. Thanks a mil
Can you just use super(); to call the constructor of the abstract class? //nevermind this - the video answered the question already - no you cannot. It's not meant to be run.
By the way, this is a great video on Abstract classes and interfaces. So much better than any other video out there on youtube. In fact in 26 minutes you made this crystal clear for me.
How great your are. Thank you for your great explanation.
Amazing Talent of Explanation!!!!
simple,detailed and cool course
Thank you for making this video. Good explanations and examples. Cheers!
Note that you can provide implementation in an interface if you use the key words default or static. Also, interfaces can extend other interfaces(not sure if that was mentioned).
My god, I finally understand this. It seems to trivial now looking back trying to learn this in class.
Outstanding explanation!! So clear and easy to understand! Thank you!
"Has anyone every seen a generic animal" xD Made me laugh
My neighbour
Really helpful video! Thanks for posting!
excellent explanation :) thank you for shedding some light.
Clear explanations, nice tutorial. Thank you !
THANK YOU ANIMAL EXAMPLE IS A LIFE SAVER
Its a perfect explanation of interface that i needed .Thanks
really awesome video..thanks a lot
great explanation. I have done a lot of reading online and was confused prior to your video
Great video. I finally get this after many tries. Thanks.
Great tutorial. Very well explained. Cheers :)
Jason you are the man!
Excellent video, thanks!
Extremely good tutorial. Thanks for your effort.
Hey Jason, This is a brilliant video...You should be a teacher!
Great video! Even though I am more concerned with how this works in PHP, this has helped me understand abstract and interface classes in more detail. One thing I don't get is how do you know which classes should be abstract, interface or standard? Take the example below of vehicles. How do I know which parts of that hierarchy should be which type of class (albeit, I'm sure "vehicle" is probably an abstract super class).
Vehicle -> Motor Vehicle -> Automobile -> Car -> Sedan
Thanks!
public abstract class Vehicle{
public void travel(){
// Code for travelling...
}
public abstract int Weight();
}
public interface IUseFuel{
string GiveFuel();
}
public interface IUseElectricity{
string GiveElectricity();
}
public class Car extends Vehicle implements IUseFuel{
public int Weight(){
return 500 Kgs;
}
public string GiveFuel(){
string fuel = "petrol";
return fuel;
}
}
public class Train extends Vehicle implements IUseElectricity{
public int Weight(){
return 500000 Kgs;
}
public string GiveElectricity(){
string power = "electricity";
return power;
}
}
Hope I helped!
So basically inheritance allows you to copy and paste types (boolean, int, String) of code so that you can declare values for said types in the classes your implementing the inheritance in ( boolean true, String" ", int 22324;). Sounds pretty good.
Outstanding video
Who in the world down voted this?!?! You are the perfect combination of engaging, informative, and personable. If you made a video on basket weaving I would watch it. #SubscribedForLife
Still watching in 2017. Great explanation.
Excellent lecture!! Thanks a ton
Thanks Jason that was a huge help
Your videos have really helped me in my preparation for Software Development at Uni, cheers man! (:
Thank you very much. Excellent !
Thanks bro. I needed to clarify this. Really good explanation!
The argument by itself is hard to understand; It is a very nice explanation thank you.
I agree with @YasserEl Kabbout. Also I was curious if there may be a similar lecture for PhP, just demonstrating the syntax at least.
Thank you so much for the explanation!
Excellent explanation, thank you !
Good Explanation Jason Wertz,Thanks..
Very Useful .Thanks a lot.
Thank you for this. It is helpful.
Thanks for the great explanation!
Thanks, It is good explanation with good simple code example.
Can you please share simple real time program example website?? I need to check how they do use from first to end.
Thanks for sharing most important things in Java
Great explanation!! Thanks
"Interface = a completely abstract class that defines a protocol for object interactions" OHHHH! 7:06
awesome video!
Excellent Explanation.
Best Explanation!
absolutely great video. especially using UML to help describe the ideas of what is going on! is a interface able to extend another interface or implement another interface though??
great explanation thanks
Excellent, thank you so much,
thanks. the best explanation.
great work
loved this tutorial...thanks man....
Thank you very much! Great explanation. keep it up.
great explanation! thanks
nice explanation..
Awesome, thanks a lot.
Thanks for the great lesson
Great Job, Thank you so much :)
Great explanation
Very helpful thank you
Thanks really helpful