在继承关系中,不管父类还是子类,这些类里面的this都代表了最终new出来的那个类的实例对象,所以在父类中你可以用this获取到子类的信息!
package com.urthinker.module.test; import org.junit.Test; abstract class BaseDao<T> { public void getType() { System.out.println(this.getClass().getName()); //com.**.test.SubDao } } public class SubDao extends BaseDao<String> { @Test public void test1() { getType(); } }
参考:
java 中父类引用指向子类对象时