Ese código tiene demasiadas cosas mal y no tiene ningún sentido, arreglarlo significaría hacer un código nuevo aunque ni siquiera sepamos qué intenta el código original. ¿Estás seguro de lo has copiado bien? hasta faltan llaves.
Código Java:
Ver originalclass A{
class B extends A{
int a = 1;
int b = 2;
public int f1(){
public int f1(){
return a;
return a + b;
}
}
B b = new B();
A a = b;
Con respecto al resto de preguntas, si estudias un poco más tendrás la respuestas.