/**
* Father class
*/
class Father {
public int count;
public Father() {
count = 1;
System.out.println("Father is called.");
}
public int getCount() {
System.out.println("Father getCount()");
return count;
}
public void setCount(int count) {
System.out.println("Father setCount()");
this.count = count;
}
}
/**
* Child class
*/
class Child extends Father {
public int age;
public Child() {
count = 2;
age = 20;
System.out.println("Child is called.");
}
@Override
public int getCount() {
// TODO Auto-generated method stub
System.out.println("Child getCount()");
return count;
}
//@Override
//public void setCount(int count) {
TODO Auto-generated method stub
//this.count = count;
//System.out.println("Child setCount()");
super.setCount(count);
//}
public int getAge() {
System.out.println("Child getAge()");
return age;
}
public void setAge(int age) {
System.out.println("Child setAge()");
this.age = age;
}
}
public class JavaTest {
/**
* @param args
*/
public static void main(String[] args) {
Father f1 = new Father();
System.out.println("f1 count = " + f1.getCount());
f1.setCount(3);
System.out.println("f1 count = " + f1.getCount());
System.out.println("****************************");
Father f2 = new Child();
System.out.println("f2 count = " + f2.getCount());
f2.setCount(5);
System.out.println("f2 count = " + f2.getCount());
System.out.println("****************************");
Child c = new Child();
System.out.println("c count = " + c.getCount());
c.setCount(4); // Call setCount() of Father class
System.out.println("c count = " + c.getCount());
System.out.println("c age = " + c.getAge());
c.setAge(30);
System.out.println("c age = " + c.getAge());
}
}