Interface In Java
SlideMake.com
Introduction to Interfaces
• An interface in Java is a reference type, similar to a class.
• It is a collection of abstract methods that can be implemented by
any class.
• Interfaces are a key component of Java's support for multiple
inheritance.
1
Purpose of Interfaces
• Interfaces allow for a contract that classes can adhere to, ensuring
certain methods are implemented.
• They promote a design principle known as "programming to an
interface."
• This enables greater flexibility and scalability in code development.
2
Defining an Interface
• An interface is defined using the `interface` keyword in Java.
• It can contain abstract methods, default methods, static methods,
and constants.
• For example, `public interface MyInterface { void myMethod(); }`
defines a simple interface.
3
Implementing an Interface
• A class implements an interface using the `implements` keyword
followed by the interface name.
• The implementing class must provide concrete implementations for
all abstract methods.
• For example, `public class MyClass implements MyInterface { public
void myMethod() { } }` shows an implementation.
4
Multiple Inheritance with Interfaces
• Java does not support multiple inheritance of classes to avoid
ambiguity.
• However, a class can implement multiple interfaces, allowing it to
inherit behaviors from several sources.
• This feature encourages the use of interfaces for designing flexible
and reusable code.
5
Default Methods in Interfaces
• Java 8 introduced default methods, which allow interfaces to provide
a default implementation.
• This feature enables backward compatibility, allowing new methods
to be added without breaking existing implementations.
• A default method is defined using the `default` keyword, such as
`default void myDefaultMethod() { }`.
6
Static Methods in Interfaces
• Interfaces can also include static methods, which belong to the
interface rather than any instance.
• These methods can be called without creating an instance of the
implementing class.
• Static methods in interfaces are defined using the `static` keyword,
e.g., `static void myStaticMethod() { }`.
7
Marker Interfaces
• Marker interfaces are interfaces that do not contain any methods or
fields.
• They are used to convey metadata or information about a class to
the Java runtime.
• A common example is the `Serializable` interface, which indicates
that a class can be serialized.
8
Functional Interfaces
• A functional interface is an interface that contains exactly one
abstract method.
• They are the foundation of lambda expressions introduced in Java
8.
• The `@FunctionalInterface` annotation can be used to indicate that
an interface is intended to be functional.
9
Conclusion
• Interfaces are a fundamental part of Java's type system and design
principles.
• They facilitate code reusability and flexibility through abstraction.
• Understanding interfaces is essential for effective object-oriented
programming in Java.
• Feel free to modify any of the slides or content as needed!
10