That is also what is known as variable scope.
A variable only exists within its containing function/method/class, and those will override any variables which belong to a wider scope.
That's why in your example, a euro sign will be shown, and not a dollar. (Because the currencySymbol
containing the dollar is at a wider (global) scope than the currencySymbol
containing the euro sign).
As for your specific question: Yes, that is a good example of variable shadowing.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…