Exemple

public void finalize() throws Throwable {
System.out.println( "finalize" );
super .finalize();
}

public static void main( String[] args ) {
PublicFinalize_Example example = new PublicFinalize_Example();
try {
example.finalize();
}catch (Throwable e) {
e.printStackTrace();
}
}

Solution
Remplacez le modificateur d'accès de la méthode finalize() par le modificateur d'accès protected

protected void finalize() throws Throwable {
System.out.println( "finalize" );
super .finalize();
}