java通过接口或者抽象类调用方法的时候,怎么知道调用的是哪个实现类里的方法?
用对象的getClass()方法获的它的类,之后就可以随意去判断这是哪个实现类了。
例子::::
比如jdbc连接池的代码,我们想要知道conn调用的close方法是释放连接还是归还连接,我们可以打印conn.getClass()
Connection conn = JDBCUtils.getConnection();
System.out.println(conn.getClass());
结果为class
com.alibaba.druid.pool.DruidPooledConnection,所以这个Connection的实现类是DruidPooledConnection,查看
源码可以知道DruidPooledConnection的close方法是归还连接到连接池,而不是释放连接