class K {
	int i = 1;
	int func() {return i;}
	}
	
class M extends K {
	int i=3;				// επικαλύπτει την i της Κ 
	int func() {			// υπερκαλύπτει την func της K
		i = 2 * super.i; 	// αναφέρεται στην i της Κ
		return super.func() + i;	// καλεί την funk της K	
		}
	void func2() {
		System.out.println(super.func());
		System.out.println(((K)this).func());
		}	
	}
	
public class Test1 {
	public static void main(String[] args){
		M m = new M();

		System.out.println(m.i);
		System.out.println(((K)m).i);
		
		System.out.println(((K)m).func());
		System.out.println(m.func());
		
		m.func2();
		}		

	
	}

