Accoriding to javadoc,
public class AtomicInteger extends Number implements java.io.Serializable {
// code for class
}
But,
public abstract class Number implements java.io.Serializable {
//code for class
}
If Number class already implements java.io.Serializable then why do AtomicInteger implements it again?
Edit: Does Serializable being a marker interface makes any difference in this context?
Just to document it more clearly. Same situation with the abstract collection base classes.
Could also have been a mistake initially (that is now carried forward for consistency’s sake).