When to use Abstract class and When to use Interface in Java
Vložit
- čas přidán 30. 07. 2024
- Please check out my blog(learnsimple.in) for more technical videos.
For any java/devops/developer/lead position related mock interview assistance/Guidance/ support, you can reach out me @ sivajavatechie5@gmail.com
In this session, I explained java interview questions and answers on abstract class , Interface with examples.
By end of this session, You will be able to answers to below questions:
What is abstract class?
What is interface?
What is the use of abstract class and interface?
When to use Abstract class and when to use interface?
What is the difference between abstract class vs interface?
Very Nice Explanation and Effort -- Appreciate in coming forward in developing this video
This is wat I m expecting ..from last 4 year I was not getting it ..everyone is just explaining theory part..you are explaining with practical examples ❤ loved it bro
Good Explanation.. Keep doing this kind of Videos. Thanx
great explanation..being mechanical engineering student, I was able to get the concept just by watching one time..thanks !!
Thanks Venkatesh :)
very nice explaination shiva....simply awesome....thanks
This is one of the most ask question by interviewer, and you cleared all my doubts. Thank you sir.
Thanks Rishabh
Thank you so much I have lot of questions in interface here afterwards I don't have any doubts thank you
Thanks Yosothai. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
Nice and simple explanation. Thanks Mr. Reddy!
Very Simple and Useful explanation
Thank you.
Great and simple explanation sir. Thank you. Only after watching this video i could understand both the concepts clearly.
Thanks Dhanya. Please do suggest our channel to your friend circle as it might help them as well. Happy Learning.
This was very clear -- great job.
Thanks for such great content, can you please explain how we can hide implementation with the help of abstract class and interface.
Beautifully explained! Most people know what is abstraction and interfaces but don't know where to use which.
Thanks Shwetank.
Thanks a lot!
Great explanation with an example and the simple words.
Easy to understand.
+Saurabh Dhabe - Thanks Saurabh.
Thank you sir, you really explained it really well and made my doubts clear!
Thank you Sneha. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
Respect and Lots of thanks for this kind of quality explanation with the code.. May God bless you.
Thanks Submit. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
the most detailed and easy-understanding explanation!!!! Thx a lot :)
Thanks Yanling
Hi siva sir
1)Plz explain the difference b/w abstract class vs interface of java 8
2)Difference b/w inteface of java 7 or below versions of java and intefaceas of java 8 interface?
Awesome explanation. Thank you so much. it helps me a lot in the interview.
Thanks Venkatesh. Please refer our CZcams channel to your friends and colleagues as it might be helpful for them. Happy Learning.
Is the getadress () method an abstract method since it doesn't have definition.
tanq sir,nice explanation
Thank you so much... It clear my all doubts about abstract class
Thanks Jay.
Thanks Siva sir for providing to the point explanation for difference between Interface and Abstract Class. It helped me a ton 🙏
You are most welcome
such a great explanation!! It was damn clear and i am highly impressed. Thanks a ton :-)
Thanks Harika. Please refer our CZcams channel to your friends and colleagues as it might be helpful for them. Happy learning.
nice one sir, keep it up 👍👍👍🙂🙂🙂🙂
Thanks sir for adding these Realtime examples which helped me understand the differences in a neat manner.
Glad it was helpful!
Awesome explanation...sir you cleared all the doubts in interface and abstract in java.... thanks a lot sir
Thanks. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy learning.
Thank you. Answers for long waited questions I had
Thanks Kasun. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
literally one of the best explained video!
Thanks Alisha. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning
By looking at the method in your classes the class name and the subclass name should be like Account, SavingAccount,CheckingAccount......
Good explanation but only one correction. Abstraction class can contain all the non abstract methods as well. It is not required to have abstract class atleast one abstract method for being it an abstract class. The main motive of abstract class is that it can't be instantiated.
Good Explanation , small note: in java 8 interface can have a default implantation , so you don't have to implement in sub classes if you provide the default behavior in the interface
You are correct. I uploaded videos for Java 8 features.
Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
In abstract class u used public abstract int...is string,float also it acceptable....what is the use of int!
An abstract class is a class that is declared abstract-it may or may not include abstract methods. Abstract classes cannot be instantiated, but they can be subclassed.
Hrishikesh S thank you....may god bless you....bytheway I’m Muslim from EuroAsia...please don’t hate me🤪🤪🤪
Why would he hate ? he might be a Hindu and an Indian that doesn't mean he hates Muslim, We Indians may hate Pakistanis for creating issues in the countries ... Even we have a lot of Muslims in India and we treat them as our brothers and sisters ...HA HA I guess that's a lot of information Don't mind me ....I was Just saying...
As far as I know an abstract class must include at least one abstract method
still not clear when interface comes with default method in java 8 then what is the use of abstract class ?
Nice video sir, I really understood about the abstract and interface
Thanks ShivRam.
GREAT ONE , CRISP AND CLEAR
Outstanding explanation!!!!! Loved it
Thank you Yadnesh. Please refer our channel to your friends circle as it might be helpful for them. Happy Learning.
Hi sir Why do we use an interface and not an abstract class? What if I implement the same method in an interface and abstract then? Any difference? recent interview question asked
Very clear explanation... Thank you very much sir 😊.....
Your explanation is very good and very clear.. thanks a lot
Thanks Ravi. Please do suggest our channel to your friend circle as it might help them as well. Happy Learning.
Hi Siva,
Thanks a lot.
I was too confused about the abstract and interface, where to use what. This question was repeatedly asked by interviewer, and as result i was not able to answer appropriate logic behind each one.
Regards,
Mohit
It would also be nice to give us examples in day to day coding life... eg. like... OnClickListeners are an Interface. What about an example like that with Abstract class.
very helpful thank you!
Thanks James.
Video is nice, but dear sir at some points your tongue is sliping for wrong words. This is the best vdo about interface and abstraction, gone through many.
Greatest videos ever on abstract !
Thanks Shivam. Please refer our CZcams channel to your friends circle as it might be helpful. Happy Learning.
Thank you, that was a great explanation.
you said no need to implement concrete method in while inheriting abstract class then y do u override getadrress method ....then overided method is executed in the output ???aaa chepandi
Here is the scenario :
If you don't want super class implementation getaddress method in sub class, you can override and get what ever the functionality you want in the subclass method getaddress method.
this is based on the requirement, as long as you are happy with the concrete method implementation in super class can be used as it is then no need to override else you have to override it.
Hope it is clear now.
Thanks for info....
thanks for your clear cut information about the differences..
Thanks Rajender. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
Hi Siva Reddy ,
Good explanation ....
I have one doubt , at last in that AbstractClassDemo.java program had one error i couldn't find that error please explain me . because i'm not that much familiar in java .
error : 20th line "Private int amount = 0;"
shasudha sudha where is that line?
Save the file after writing that statement..
sir please explain same abstraction and interface in hospital management if knows any one please tell me
Thanks for sharing the example.Ty again Sir
Thanks Sakti Ranjan Behera. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
Best explanation in CZcams
Thanks Sandesh. Please refer our channel to your friends circle as it might be helpful for them. Happy Learning.
Thanks sir for brushing up the concepts
Thanks Aditya. Please refer our channel to your friends circle as it might be helpful for them. Happy Learning.
Good one Sir. Very useful. I can it is Amazing.
Thanks Srkfan. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
thank you sir I understood all concepts.
Thanks Prashik. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
Very clear explanation, thanks bro
Thank you DeviReddy. Please refer our channel to your friends circle as it might helpful for them. Happy Learning.
very good n detailed explanation. Thank you
Thank you. Please share our youtube channel to your friends circle as it may be helpful for them. Happy Learning.
thank you very much it's very helpful
Thanks SalahEddine Makkaoui!!
Excellent. Good effort. Thanks lot..
Thanks Perumal.
Good explanation Sir tq so much
Thanks Ravi. Please refer our channel to your friend circle.Have a Great Day.
0:29 abstract class
1:34 partial abstraction and code reusability
3:05 bank example
7:43 no instantiation
8:33 interface
12:55 abstraction
14:07 difference: abstract class extensibility vs interface multi-inheritance
Please tell, What is the difference between 100% abstract class and interface?
Thanks for this video easy to understood can u upload all oops concept
Thanks Krushna Sahu. Please go through videos uploaded here. @czcams.com/video/gvXLpzAmmf8/video.html
Very good explanation. Thank you sir
Thanks Mariza. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
can I change the body of concrete method of abstract clss while overriding it in child clss..answer me pls?
Yes, you can.
I got clear structure , thak you so much sir
Thanks Sumanth. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
cleared all the points thank u sir
Thanks Neha. Please refer our channel to your friends circle. Thank you.
If I want provide implementation for only one method from interface to class. How I can done this
You can do it through functional interface in Java. Please refer video czcams.com/video/ZRolf_JLM28/video.html
can uou please also explain , whats the use case of abstract classes after java 8 new interfaces features
Very clear explanation, Thank you !
Thanks Tufan. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
@@SivaReddyJavaTechie Hi Sir, I have one question, is this possible to control a class to access only required methods of an Interface A, A is having test1 and test2 methods, Class B implements A, now I want B can access only test2. Is it possible? (in java 1.7 or 1.8)
Crystal Clear Explanation
Thanks Aniket. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
Very easily explained. Good Job
Thanks Rahul. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
@@SivaReddyJavaTechie will do brother... 😄
There is no need to have atleast one abstract method in an abstract class. But if one of the methods are abstract then the class must be an abstract class. Please confuse the viewers with wrong definitions.
Nice explanation with example !!!
Thanks Ashish.
Great explanation!
Thanks Suvasish.
I've seen people using both of them together but din't get this why .i.e subclass inherit abstract class and implements an interface as well .
If we can create mandatory methods in abstract class already then why using interface for creating mandatory methods for subclasses? Like we created calculateInterest in abstract class so that it should be mandatory for all subclasses then why we used interface to create other methods , They can be created as abstract methods in abstract classes ?
So what is the actual purpose of using them together ?
Use Interface - When all the subclasses want to implement their own implementation for all the methods defined in Interface. Use Abstract class - When there is common methods that can be extends to as it is. This will help code reusable and if any sub class want its own implementation then , sub class can override those methods
Thank you. I am an experienced java developer. This would be helpful for interviews
Thanks Subramanian. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
@@SivaReddyJavaTechie sure
Like it.
So NYC explanation...Ty
Thanks Prakash. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
why we need to have interface to only declare methods , we can simply specify the needed method in e ach class right, why we need to define it somewhere as interface
1. It Gives a Structure to the entire coding .
2. It helps to maintain coding standard and that too compiler enforced
3.Very hypothetically - It is like an index of the book by seeing the interface you can come to know what is available easily.
Nice explanation
14:12 abstract vs interface rundown
Simply superb bro.. please do more videos.. 👌🏻🙏🏻👍
Thanks Venkat. Please share our CZcams channel to your friends circle as it may helpful for them. Happy Learning.
@@SivaReddyJavaTechie sure bro
Clear explanation thankyou..
Thanks Soundarya. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
sir video is not visible visible properly
well explanation with examples
Thanks Rama Krishna.
Nice info.. one thing we are missing here... if we create object for child class say for ex hdfc and calling methods we are loosing polymarphsim here
Siva - This is called as runtime polymarphism where you have same method signature in both super class and sub class but at runtime sub class method overrides the super class method.
u explained both concepts with sane example.but i didnt understand when to choose interface and when to choose abstract. can u pls give some real time scenarios
Interface provides 100% abstraction in Java. Interface is used to provide as a contract for the implementations. In a system it is possible to have the multiple class having the same method name but implementation might be changed from one sub class to another sub class when you providing the functionality for the methods.
Hence using the interface, you provide as a contract for the business. E.g: in the case of JDBC, java provides Statement as interface and it have below methods.
1) public ResultSet executeQuery(String sql)
2) public int executeUpdate(String sql)
3) public boolean execute(String sql)
4) public int[] executeBatch()
For Java, it does not matter for which database it has to execute the queries as long as database vendor provides the functionality for the above methods. Also each database(oracle, DB2, mysql) can have their own implementation for executing the queries.
Abstract class : Go for abstract class when all sub classes methods having the same functionality of the super class method then it is better you can provides those common methods in the abstract class and which you feel implementation is differ in sub classes declare them as abstract methods so that sub classes can only provide implementation for the abstract methods and other methods can be used as code resuable
Well explained!!!!!! Thanks a lot!!!!
Thanks Dileep. Please do suggest our youtube channel to your friend circle as it might be help them as well. Happy Learning.
Siva Reddy sure.. I will do..
Nice explanation...
Thanks Sagar :)
Finally clear explanation thanks
Thanks Srikanth Reddy. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
@@SivaReddyJavaTechie definitely
You are a excellent teacher... Come to EuroAsia, Uzbekistan
Thanks for your appreciation Aneyssa. Happy Learning.
Nice one. But you haven't told as per the Title of the topic "When to use abstract and when to use interface"
When you don't know the implementation and perform common task to do for all use interface.
@@RajuAhmed111 same we can also achieve using abstract class by defining abstract methods only.except multiple inheritance support what is the other advantage of interface.
@@RajuAhmed111 bro please tell me same that abstraction and interface in hospital management system
it is code reuseability bro
Explanation is good
Thanks Sia Gaur.
Thanks sir ..u r great
Thanks Gamer Romin. Please refer our CZcams channel to your friends circle as it might be helpful for them. Happy Learning.
what is purpose constructor in abstract class but can't create object in abstract class
When you create constructor in abstract class, it is the responsibility of sub class which extends the abstract class has to create object for abstract class. So when you create constructor in abstract class, sub class has to pass the parameters to abstract class constructor. If you want initialise some properties from sub class to abstract class, you can use constructor in abstract class.
Great video
Thanks Shashidhar. Please refer our channel to your friend circle as it might be helpful for them. Happy Learning.
good explanation!
Thanks Armchair.