== is means address comarision operator. s1==s2 means if both points to same location it will return true otherwise return false.In this case both s1 and s2 must be contain some relationship otherwise it will give compiletime error.
equals method is available in Object class. In object class it is defined based on == operator.
Here the return type is boolean.
s1.equals(s2) if s1 and s2 are different then it will return false , s1 and s2 are points to duifferent location then it will return false. if both points to same location it will return true. In this case we will never get compile time error.
If you want to change the behaviour of equals method you can change by overriding.
This was happened in
String and Wrapper classes. In this 2 cases they override like content comparision instead of address comparision.