为什么Protection()构造函数被多次执行? (特别是,基本构造函数在输出开始时执行两次)

时间:2017-07-17 11:10:40

标签: java

Package p1有3个类:Protection,Derived和SamePackage。 Protection类有4个变量,每个变量都使用唯一类型的访问修饰符定义。每个后续类都尝试访问此类实例中的变量。

def fizz_count(x):
    count=0
    for item in x:
        if x[item]=="fizz":


             count=count+1
    return count

我收到以下输出

fizz_count(['fizz', 'buzz'])

1 个答案:

答案 0 :(得分:1)

保护构造函数多次执行,因为您实例化了多个Protection对象。

每次调用new Protection();时,Protection构造函数都会运行。

在Demo中首先调用它,然后实例化Derived,因为Derived扩展了Protection,所以再次调用Protection构造函数。最后,当您实例化SamePackage和SamePackage实例化Protection时,第三次调用构造函数。

我希望这是可以理解的......