"General behavior" isn't what an interface is about.
Understand that interface can mean two different things in OOP.
The intrinsic interface of an object is really just a set of messages you can send it by calling it's methods. There is no behavior defined here.
There is also the explicit interface type that some languages have. This competes with abstract classes but has a slightly different set of rules depending on your language.
With abstract types you can define behavior that can be overridden that you can think of as "general behavior". You can do this same trick in some versions of some languages with a type that they unfortunately decided to call "interface".
These explicit interfaces were only recently given this ability. They added it because they wanted to not break legacy code when they expanded published interfaces. This let them provide what I prefer to call "default behavior". It's doubtful they'd have named this type "interface" if they knew that it would eventually allow this.
So no, "general" behavior is much more an abstract class thing. Now with composition, it's very much a "default" behavior thing. From the outside though it all looks like the same thing.