1,你调了对象的tostring,里面调了size() 2,应该是debug造成的,会私自调对象的方法。 你把debug关掉,并且不要调对象的tostring,然后在init()里面加打印语句,就能看出不会执行init()。 到底是哪里调的还不知道
代码中的匿名类是通过继承抽象类AbstractList来实现的。匿名类的初始化过程包含了一个初始化方法init(),该方法在get()和size()方法被调用时执行。
在匿名类的内部,我们可以定义和使用成员变量。实例化匿名类时,会先创建该类的实例,然后在初始化块中初始化成员变量。
在这个例子中,list是一个final的List<String>类型的成员变量,在init()方法中被初始化。在get()和size()方法中,首先调用init()方法来确保该成员变量被初始化。...
1,你调了对象的tostring,里面调了size() 2,应该是debug造成的,会私自调对象的方法。 你把debug关掉,并且不要调对象的tostring,然后在init()里面加打印语句,就能看出不会执行init()。 到底是哪里调的还不知道
代码中的匿名类是通过继承抽象类AbstractList来实现的。匿名类的初始化过程包含了一个初始化方法init(),该方法在get()和size()方法被调用时执行。
在匿名类的内部,我们可以定义和使用成员变量。实例化匿名类时,会先创建该类的实例,然后在初始化块中初始化成员变量。
在这个例子中,list是一个final的List<String>类型的成员变量,在init()方法中被初始化。在get()和size()方法中,首先调用init()方法来确保该成员变量被初始化。...