Your Default Class inherits from Object Class. This is the ultimate base class of all classes in the .NET Framework; it is the root of the type hierarchy.
That's the reason why you can override its methods.
Because all classes in the .NET Framework are derived from Object, every method defined in the Object class is available in all objects in the system. Derived classes can and do override some of these methods, including:
Equals - Supports comparisons between objects.
Finalize - Performs clean-up operations before an object is automatically reclaimed.
GetHashCode - Generates a number corresponding to the value of the object to support the use of a hash table.
ToString - Manufactures a human-readable text string that describes an instance of the class.