this.getClass().getName()获取当前类的类名,包含包名,如果你只想得到类名那就做个替换:this.getClass().getName().replace("com.wy.test2.", "")父类Staff有三个子类分别是Manager, Engineer, Worker,这三个子类实际上都继承了父类方法paySalary(),因此在每个子类调用paySalary()方法时,this.getClass().getName()得到的是子类类名。