#### §4.7.(e) No overriding

Since static methods are not dynamically bound, overriding does not apply in the normal semantics. Regarding callin bindings this has the following consequences (assuming a role `RMid` played by `BMid` plus its super-class `BSuper` and its sub-class `BSub`.

1. If a static base method `BMid.m` is bound by a callin binding this has no effect on any method `m` in `BSub`.
2. If a callin binding mentions a method `m` which is not present in `BMid` but resolves to a static method in `BSuper` the binding only affects invocations as `BMid.m()` but not `BSuper.m()`. If the latter call should be affected, too, the callin binding must appear in a role class bound to `BSuper`, not `BMid`.
3. In order to bind two static base methods with equal signatures, one being defined in a sub-class of the other one, two roles have to be defined where one role refines the `playedBy` clause of the other role (say: `public class RSub extends RMid playedBy BSub`). Now each role may bind to the static base method accessible in its direct base-class.