package test01;
class SuperE
{
int x = 10;
SuperE(int a)
{
x = a;
}
void superEMethod()
{
System.out.println("superEMethod exe");
System.out.println("this.x = " + this.x);
}
public void loadTest()
{
System.out.println("superTest 실행");
}
}
class SubE extends SuperE
{
int y = 20;
SubE(int a, int b)
{
super(a);
y = b;
}
void subEMethod()
{
System.out.println("subEMethod exe");
System.out.println("this.x = " + this.x);
System.out.println("super.x = " + super.x);
}
public void loadTest()
{
System.out.println("subTest 실행");
}
}
class SubsubE extends SubE
{
int z = 30;
SubsubE()
{
this(10, 20, 30);
}
SubsubE(int a, int b, int c)
{
super(a, b);
z = c;
}
void subsubEMethod()
{
System.out.println("subsubEMethod exe");
System.out.println("this.x = " + this.x);
System.out.println("super.x = " + super.x);
}
public void loadTest()
{
super.loadTest();
}
}
public class TestExtend
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
SubsubE ss1 = new SubsubE();
SubsubE ss2 = new SubsubE(40, 50, 60);
SubE ss3 = new SubE(30, 40);
ss3.loadTest();
/*System.out.println(ss2.x);
System.out.println(ss2.y);
System.out.println(ss2.z);
ss2.superEMethod();
ss2.subEMethod();
ss2.subsubEMethod();
System.out.println();
System.out.println(ss1.x);
System.out.println(ss1.y);
System.out.println(ss1.z);
ss1.superEMethod();
ss1.subEMethod();
ss1.subsubEMethod();*/
ss2.loadTest();
}
}