The mere presence of such an interface indicates specific behavior on the part of the implementing class.
Hybrid interfaces, which both act as markers and specify required methods, are possible but may prove confusing if improperly used.
The ObjectOutputStream private method writeObject0(Object,boolean) contains a series of instanceof tests to determine writeability, one of which looks for the Serializable interface.
In the example given, any subclass not intended for serialization (perhaps it depends on transient state), must explicitly throw NotSerializableException exceptions (per ObjectOutputStream docs).
Another solution is for the language to support metadata directly: Effective Java[1] by Joshua Bloch.