子类为什么能通过继承父类中的setName方法给自己设置父类中被private修饰的name属性? 父类 public abstract class Employee { private String name; public String getName(){return name;} public void setName(String name) {this.name = name;} public abstract void showMsg(); } 子类 public class Manager extends Employee{ private Clerk clerk; public Manager(){} public Manager(Clerk clerk){ this.clerk=clerk; } @Override public void showMsg(){System.out.println(this.getName()); } } 测试类 下方图片是测试类,可以打印出名字.(请忽略我图片中除了name的其他属性) 下面是我的理解:private不是修饰了name吗?那Manager类中不应该没有name这个属性吗?虽然有setName方法,但是本类中没有name属性,怎么还能给name赋值上的呢? 本人小白,希望有大佬可以指点一下我理解上的错误! 