Get a Method
To get a specific method from a class you can use getMethod. If there is no method that matches the name and argument types a NoSuchMethodException will be thrown. [^nosuchmethod]
import java.lang.reflect.Method;
class Main {
    void main() throws NoSuchMethodException {
        Class<Tea> teaClass = Tea.class;
        Method sipMethod = teaClass.getMethod("sip");
        IO.println(sipMethod);
    }
}
class Tea {
    public void sip() {
    }
}
Unlike fields which can be identified only by their name, methods which are distinct overloads of each other are distinguised by the arguments they take in.
import java.lang.reflect.Method;
class Main {
    void main() throws NoSuchMethodException {
        Class<Tea> teaClass = Tea.class;
        // There is a sip method which takes zero arguments
        Method sipMethod = teaClass.getMethod("sip");
        IO.println(sipMethod);
        
        // which is a different method than
        // sip that takes one int
        sipMethod = teaClass.getMethod("sip", int.class);
        IO.println(sipMethod);
        
        // which is a different method than
        // sip that takes a String and an int
        sipMethod = teaClass.getMethod("sip", String.class, int.class);
        IO.println(sipMethod);
    }
}
class Tea {
    public void sip() {
    }
    public void sip(int numberOfSips) {
    }
    public void sip(String baristaName, int numberOfSips) {
    }
}
And, as you might imagine, getDeclaredMethod will do the same thing with the distinction
of seeing non-public methods.
class Main {
    void main() throws NoSuchMethodException {
        Class<Fruit> fruitClass = Fruit.class;
        IO.println(fruitClass.getDeclaredMethod("bite"));
        IO.println(fruitClass.getDeclaredMethod("chew"));
        IO.println(fruitClass.getDeclaredMethod("swallow"));
    }
}
class Fruit {
    public void bite() {
    }
    void chew() {
    }
    private void swallow() {
    }
}