Challenge 1: A Default Interface Method Inherited Automatically — Possible Solution ==================================================================== Program.cs: interface IGreetable { string Hello(); string Bye() => "Goodbye!"; // default body } class Person : IGreetable { public string Hello() => "Hi there!"; } IGreetable p = new Person(); Console.WriteLine(p.Hello()); Console.WriteLine(p.Bye()); Output: Hi there! Goodbye! Explanation: Person only implements Hello(), the single abstract member IGreetable actually requires. Bye() is never written in Person at all -- it's inherited automatically from IGreetable's own default body, the same mechanism java1-6's own Java 8 default methods use, just arriving in C# five years later (C# 8, 2019). WHY THIS WORKS AS AN ANSWER ------------------------------ This demonstrates a default interface method being inherited and used without the implementing class writing any code for it, matching the chapter's own claim that C#'s default interface methods behave the same way as java1-6's Java 8 equivalent.