代码中“位置一”处的“name”和“位置二”处的“name”,在代码运行时为什么不会混(我总是理解成应该写为name1,name2 这样以区分),是什么原理?
public class Demo{
public static void main(String[] args) {
Dog obj = new Dog("花花", 3);
obj.say();
}
}
class Animal{
String name;
public Animal(String name){ `````````````````位置一````````````````````
this.name = name;
}
}
class Dog extends Animal{
int age;
public Dog(String name, int age){ `````````````````位置二``````````````````
super(name);
this.age = age;
}
public void say(){
System.out.println("我是一只可爱的小狗,我的名字叫" + name + ",我" + age + "岁了");
}
}