The java.lang.reflect.Method.isDefault() method is used to check whether the method of the Method object is a Default Method: or not. It returns true if method object is a default method, otherwise it will return false.
Default Method: A public non-abstract on-static method with a body declared in an interface type.
Syntax:
public boolean isDefault()
Return Value: This method returns a boolean value. It returns true if method object is a default method by JVM Specifications, else false.
Below program illustrates isDefault() method of Method class:
Example 1:
/* * Program Demonstrate isDefault() method * of Method Class. */ import java.lang.reflect.Method;
public class GFG {
// create main method
public static void main(String args[])
{
try {
// create class object for interface Shape
Class c = Shape. class ;
// get list of Method object
Method[] methods = c.getMethods();
// print Default Methods
for (Method m : methods) {
// check whether the method is Default Method or not
if (m.isDefault())
// Print
System.out.println( "Method: "
+ m.getName()
+ " is Default Method" );
}
}
catch (Exception e) {
e.printStackTrace();
}
}
private interface Shape {
default int
draw()
{
return 0 ;
}
void paint();
}
} |
Method: draw is Default Method
Example 2:
/* * Program Demonstrate isDefault() method * of Method Class. * This program checks all default method in Comparator interface */ import java.lang.reflect.Method;
import java.util.Comparator;
public class Main6 {
// create main method
public static void main(String args[])
{
try {
// create class object for Interface Comparator
Class c = Comparator. class ;
// get list of Method object
Method[] methods = c.getMethods();
System.out.println( "Default Methods of Comparator Interface" );
for (Method method : methods) {
// check whether method is Default Method or not
if (method.isDefault())
// print Method name
System.out.println(method.getName());
}
}
catch (Exception e) {
e.printStackTrace();
}
}
} |
Default Methods of Comparator Interface reversed thenComparing thenComparing thenComparing thenComparingInt thenComparingLong thenComparingDouble
Reference:
https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html#isDefault–