32 import java.lang.reflect.InvocationTargetException;
33 import java.lang.reflect.Method;
34 import java.util.Arrays;
35 import java.util.stream.Stream;
58 default String
eat() {
59 return this.getClass().getSimpleName()
60 +
" eats like an ordinary animal";
69 return this.getClass().getSimpleName()
70 +
" sleeps like an ordinary animal";
102 return "Dog walks on four legs";
122 public static void main(
final String[] args)
throws NoSuchMethodException {
124 Stream.of(
Dog.class.getMethod(
"eat"),
Dog.class.getMethod(
"go"),
Dog.class.getMethod(
"sleep"))
126 System.out.println(
"Method name: " + m.getName());
127 System.out.println(
" isDefault: " + m.isDefault());
128 System.out.print(
" invoke: ");
131 } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
133 System.out.println();