Merhaba.Kodun sonucu 0 4.kodu inceleyin sorumu en sonra yazıyorum
public class A {
A(){
print();
}
void print(){
System.out.println("A");
}
}
public class B extends A{
int i = 4;
public static void main(String[] args) {
A a = new B();
a.print();
}
void print(){
System.out.println(i);
}
}
ama bir türlü çözemedim olayı.new B() dediğimiz zaman A()-nın constructor-u çağrılıyor.tamam.sonra A classının contructor-unda A-nın printi çağrılıyor.Override olduğu için B-deki print çağrılmış oluyor.A-nın contructoru daha run olub bitmemiş.Yani B-nin objesi hakkında şu anda konuşamayız o zaman i değişkeni hakkında da konuşamayız.Peki i-yi nasıl çağırıyor?