Brainteaser: Overridable methods

Consider the following case of inheritance:

[java]
public class Parent {
public Parent() {
getValue();
}
public void getValue() {

}
}

public class Child extends Parent {
private final Integer integer;
public Child() {
integer = new Integer(888);
}

@Override
public void getValue() {
System.out.println(integer);
}
}
[/java]

Question: What would the following program print, why?

[java]
public class Test {
public static void main(String[] args) {
Child child = new Child();
child.getValue();
}
}
[/java]

Lets assume that getValue() implementation in Child class was changed to:

[java]
@Override
public void getValue() {
System.out.println(integer.toString());
}
[/java]

Question: What would the output of the Test class be now, why?