Sì. Se TC avesse:
- un costruttore esplicito con super() esplicito --> ok
- un costruttore esplicito ma vuoto --> ok
- nessun costruttore esplicito --> ok (il compilatore inserisce quello di default):
Ma la costruzione, ricorda, deve SEMPRE arrivare fino a java.lang.Object. Se TC avesse 1 costruttore ma private, TC compila ma TestClass NON ti compila più, in quanto non può "vedere" alcun costruttore accessibile.
P.S. prova questo:
codice:public class Main { public static void main(String[] args) { new B(); } } class A { private int a = val(); public A() { System.out.println("A()"); } private int val() { System.out.println("A val()"); return 123; } } class B extends A { private int b = val(); public B() { System.out.println("B()"); } private int val() { System.out.println("B val()"); return 123; } }


Rispondi quotando
