Question: I have a class which is implementing an interface, and one of the methods is called onClick. Is there a way to implement the onClick that the interface wants but name it something else? Something like (and I'm making this up):

```
public void AnyMethodNameIWant() implements Interface1.onClick

```

Three reasons I'm asking are:

1. It would be nice to look at an method signature and know that it's
coming from an interface
2. To avoid 'generic' names like onClick that an interface may require me to have
3. To distinguish between the same method names in many interfaces

Apologies if this is a fundamentally 'bad' question as I am new to Java.

Answer: 
Nope.

The only thing you could do is add a shadow method that implements the interface and calls your method.

```
public class MyClass implements Interface1 {
    public void AnyMethodNameIWant() { ...; }
    public void onClick() { AnyMethodNameIWant(); }
}

```
You can't rename the method, but you could define both methods (`onClick` and `anyMethodNameIWant`) and have `onClick` just simply call your other method.

```
@Override
public void onClick() {
    anyOtherMethodNameIWant();
}

```