Method Class | isDefault() Method in Java

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(); }} |
Output:
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(); } }} |
Output:
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–



