Skip to main content

CEP. 5

21.Difference between abstract class and interface

Abstract class and interface both are used to achieve abstraction where we can declare the abstract methods. Abstract class and interface both can't be instantiated.

But there are many differences between abstract class and interface that are given below.

Abstract classInterface
1) Abstract class can have abstract and non-abstract methods.Interface can have only abstract methods. Since Java 8, it can have default and static methods also.
2) Abstract class doesn't support multiple inheritance.Interface supports multiple inheritance.
3) Abstract class can have final, non-final, static and non-static variables.Interface has only static and final variables.
4) Abstract class can provide the implementation of interface.Interface can't provide the implementation of abstract class.
5) The abstract keyword is used to declare abstract class.The interface keyword is used to declare interface.
6) An abstract class can extend another Java class and implement multiple Java interfaces.An interface can extend another Java interface only.
7) An abstract class can be extended using keyword "extends".An interface can be implemented using keyword "implements".
8) A Java abstract class can have class members like private, protected, etc.Members of a Java interface are public by default.
9)Example:
public abstract class Shape{
public abstract void draw();
}
Example:
public interface Drawable{
void draw();
}

Simply, abstract class achieves partial abstraction (0 to 100%) whereas interface achieves fully abstraction (100%).

  1. //Creating interface that has 4 methods  
  2. interface A{  
  3. void a();//bydefault, public and abstract  
  4. void b();  
  5. void c();  
  6. void d();  
  7. }  
  8.   
  9. //Creating abstract class that provides the implementation of one method of A interface  
  10. abstract class B implements A{  
  11. public void c(){System.out.println("I am C");}  
  12. }  
  13.   
  14. //Creating subclass of abstract class, now we need to provide the implementation of rest of the methods  
  15. class M extends B{  
  16. public void a(){System.out.println("I am a");}  
  17. public void b(){System.out.println("I am b");}  
  18. public void d(){System.out.println("I am d");}  
  19. }  
  20.   
  21. //Creating a test class that calls the methods of A interface  
  22. class Test5{  
  23. public static void main(String args[]){  
  24. A a=new M();  
  25. a.a();  
  26. a.b();  
  27. a.c();  
  28. a.d();  
  29. }}  
Output

       I am a
       I am b
       I am c
       I am d




22.Event and Listener (Java Event Handling)

Changing the state of an object is known as an event. For example, click on button, dragging mouse etc. The java.awt.event package provides many event classes and Listener interfaces for event handling.

Java Event classes and Listener interfaces

Event ClassesListener Interfaces
ActionEventActionListener
MouseEventMouseListener and MouseMotionListener
MouseWheelEventMouseWheelListener
KeyEventKeyListener
ItemEventItemListener
TextEventTextListener
AdjustmentEventAdjustmentListener
WindowEventWindowListener
ComponentEventComponentListener
ContainerEventContainerListener
FocusEventFocusListener
Steps to perform Event Handling

Following steps are required to perform event handling:

  1. Register the component with the Listener

Registration Methods

  • Button
    • public void addActionListener(ActionListener a){}
  • MenuItem
    • public void addActionListener(ActionListener a){}
  • TextField
    • public void addActionListener(ActionListener a){}
    • public void addTextListener(TextListener a){}
    • public void addTextListener(TextListener a){}
  • Checkbox
    • public void addItemListener(ItemListener a){}
  • Choice
    • public void addItemListener(ItemListener a){}
  • List
    • public void addActionListener(ActionListener a){}
    • public void addItemListener(ItemListener a){}
    • Java Event Handling Code

We can put the event handling code into one of the following places:

  1. Within class
  2. Other class
  3. Anonymous class

Java event handling by implementing ActionListener

  1. import java.awt.*;  
  2. import java.awt.event.*;  
  3. class AEvent extends Frame implements ActionListener{  
  4. TextField tf;  
  5. AEvent(){  
  6.   
  7. //create components  
  8. tf=new TextField();  
  9. tf.setBounds(60,50,170,20);  
  10. Button b=new Button("click me");  
  11. b.setBounds(100,120,80,30);  
  12.   
  13. //register listener  
  14. b.addActionListener(this);//passing current instance  
  15.   
  16. //add components and set size, layout and visibility  
  17. add(b);add(tf);  
  18. setSize(300,300);  
  19. setLayout(null);  
  20. setVisible(true);  
  21. }  
  22. public void actionPerformed(ActionEvent e){  
  23. tf.setText("Welcome");  
  24. }  
  25. public static void main(String args[]){  
  26. new AEvent();  
  27. }  
  28. }  



Comments

Contact Form

Name

Email *

Message *

Popular posts from this blog

Microsoft SQL Server 2019 Serial Key For All Edition

  Microsoft SQL Server 2019 Enterprise Edition HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G Microsoft SQL Server 2019 Enterprise Core Edition 2C9JR-K3RNG-QD4M4-JQ2HR-8468J Microsoft SQL Server 2019 Standard Edition PMBDC-FXVM3-T777P-N4FY8-PKFF4 SQL Server2019 key   SQL Server 2019 Enterprise:HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G Strandard:PMBDC-FXVM3-T777P-N4FY8-PKFF4 SQL Server 2017 Enterprise:TDKQD-PKV44-PJT4N-TCJG2-3YJ6B Enterprise Core:6GPYM-VHN83-PHDM2-Q9T2R-KBV83 Strandard:PHDV4-3VJWD-N7JVP-FGPKY-XBV89 Web:WV79P-7K6YG-T7QFN-M3WHF-37BXC SQL Server 2016 Enterprise:MDCJV-3YX8N-WG89M-KV443-G8249 Enterprise Core:TBR8B-BXC4Y-298NV-PYTBY-G3BCP Standard:B9GQY-GBG4J-282NY-QRG4X-KQBCR Web:BXJTY-X3GNH-WHTHG-8V3XK-T8243 SQL Server 2014 Business Intelligence:GJPF4-7PTW4-BB9JH-BVP6M-WFTMJ Developer:82YJF-9RP6B-YQV9M-VXQFR-YJBGX Enterprise:27HMJ-GH7P9-X2TTB-WPHQC-RG79R Enterprise Core:TJYBJ-8YGH6-QK2JJ-M9DFB-D7M9D Strandard:P7FRV-Y6X6Y-Y8C6Q-TB4QR-DMTTK Web:J9MBB-R8PMP-R8WTW-8JJRD-C6GGW
Rumors for the  unveiling  of Xiaomi’s upcoming Android skin have proven true. The company will unveil MIUI 12, alongside Mi 10 Youth Edition 5G, on 27th April in its home country, China. We expect MIUI 12 beta ROMs to start rolling out for a select few phones even before the month comes to a close. Xiaomi made the announcement via an   official post   on Weibo earlier this morning. The company has shared a handful of teasers for both the MIUI 12 and Mi 10 Youth Edition 5G. There’s nothing you can guess about features debuting with the software skin. But, we have got a sneak peek at the newest addition to the Mi 10 lineup The rumor mill has been quite chatty about MIUI 12 features over the past week. We have also seen a couple of leaks recently, giving us a first look at the  new UI elements  and themes. The update is also expected to bring some parity in full-screen gestures. It’s going to  debut Android 10-like gestures , along with TÜV Rheinland cer...

[MWC 2019]: Nokia to host launch event on February 24th; Nokia 9, Nokia 6.2 expected

“The upcoming Nokia smartphones are also expected to be Android One-branded” Nokia’s  Chief Product Officer Juho Sarvikas has  teased  February 24th as the launch date for its devices. The company has once again chosen Mobile World Congress (MWC) 2019 — world’s biggest tech trade show — to showcase what it has in store. Much like last year, Nokia’s license holder HMD Global may take the wraps off new smartphones, including the rumoured  Nokia 9 PureView ,  Nokia 8.1 Plus , and  Nokia 6.2 . The Nokia 9 PureView is expected to be a flagship offering and the world’s first smartphone with five camera setup. You heard it right! The handset is tipped to feature Penta cameras at the back panel. It’ll most likely flaunt a 5.99-inch display – probably with an 18:9 aspect ratio, 2K resolution, and Nokia’s PureView tech. Under the hood, it may employ Qualcomm’s Snapdragon 84...