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–