拿b.setName("李四")来给你做个说明:b.setName("李四")这句话是来调用子类setName()方法,但子类中没有setName()方法,可是子类继承了父类,父类中有setName,所以这时候父类的setName方法中就相当于String name ="李四",然后执行父类setName方法中的语句this.name = name,即this.name = "李四",所以父类private String name =李四.
最后通过调用b.getName()方法,就可以在控制台输出李四了.
最后再提醒你一点,调用子类setName方法和并不需要看子类有没有成员变量name,调用setName只要传给子类setName一个String类型的名字就可以,实际这String类型的名字最后是被父类的setName方法接收的,父类接收到名字后就可以赋值给private String name了. |