package oop.Interface;

interface A {
	
    void myMethod();
}
 
class B {
	
    public void myMethod() {
        System.out.println("My Method");
    }
}
/*
 *  - Die Klasse C erbt von B und implementiert A. Da B bereits eine Implementierung für myMethod() hat, 
 *    übernimmt C diese Implementierung automatisch. Die Methode myMethod() muss daher in C nicht erneut implementiert werden,
 *    weil sie über die Vererbung von B zur Verfügung gestellt wird.
 */
class C extends B implements A {
     
}

interface X
{
    void methodX();
}

/*
 * - Interface methods must be implemented as public. Because, 
 *   interface methods are public by default 
 *   and you should not reduce the visibility of any methods while overriding.
 */
class Y implements X
{
    public void methodX()
    {
        System.out.println("Method X");
    }
}


 
public class MainClass {
	
    public static void main(String[] args){
        A a = new C();
         
        a.myMethod();
    }
}