In the test initialization sequence, added generics, the result is to subvert the cognition.
I was executed first Qiu a = new Qiu (); How can I perform a static Huiyi first?!
-----------The result of the output--------------
Static Block Qiu
Static Huiyi
Block Qiu
Qiu
Block Qiu
Qiu
Block Huiyi
Huiyi
package fanxing01;import java.util.arraylist;import java.util.collection;import java.util.list;//recall generic knowledge points class qiu{ static{ system.out.println ("Static block qiu"); } { system.out.println ("Block qiu"); } qiu () { system.out.println ("Qiu"); } protected int set (Integer a) { return 1; } Protected void set (double a) {// return 1; }}//class qiu2 extends qiu{// private void set (integer a) {//&NBsp; // }//}public class huiyi<t > extends Qiu{ static{ System.out.println ("Static huiyi"); } huiyi () { system.out.println ("Huiyi"); } { system.out.println ("Block huiyi"); } public void set (T a) { system.out.println (a); } public static<t> &NBSP;VOID&NBSP;SETFROMA2B (COLLECTION<T>&NBSP;ARR1,COLLECTION<?&NBSP;SUPER&NBSP;T>&NBSP;ARR2) { for (T&NBSP;O&NBSP;:&NBSP;ARR1) { arr2.add (o); } system.out.println (ARR2); } public static Void main (String[] args) { qiu a = new qiu (); huiyi<integer> b = New huiyi<> (); }}
Java Foundation Initialization issues