如果一个类想实现一个接口中的部分方法,可以定义一个抽象类去实现此接口的所有方法,将其中你想使用的方法也定义成抽象方法,然后再用一个类去继承抽象类即可。
例如:一个类只需要数据源(DataSource)中的public abstract Connection getConnection() throws SQLException;
1.定义一个抽象类 (AbstractJdbcDataSource(抽象数据源))去实现 DataSource(数据源)
package com.gem.jdbc.util;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.util.logging.Logger;
import javax.sql.DataSource;
public abstract class AbstractJdbcDataSource implements DataSource {
@Override
public PrintWriter getLogWriter() throws SQLException {
// TODO Auto-generated method stub
return null;
}
@Override
public int getLoginTimeout() throws SQLException {
// TODO Auto-generated method stub
return 0;
}
@Override
public Logger getParentLogger() throws SQLFeatureNotSupportedException {
// TODO Auto-generated method stub
return null;
}
@Override
public void setLogWriter(PrintWriter arg0) throws SQLException {
// TODO Auto-generated method stub
}
@Override
public void setLoginTimeout(int arg0) throws SQLException {
// TODO Auto-generated method stub
}
@Override
public boolean isWrapperFor(Class<?> arg0) throws SQLException {
// TODO Auto-generated method stub
return false;
}
@Override
public <T> T unwrap(Class<T> arg0) throws SQLException {
// TODO Auto-generated method stub
return null;
}
@Override
public abstract Connection getConnection() throws SQLException;
@Override
public Connection getConnection(String arg0, String arg1)
throws SQLException {
// TODO Auto-generated method stub
return null;
}
}
2.在定义一个类(JdbcDataSource)去继承抽象类(AbstractJdbcDataSource)
package com.gem.jdbc.util;
import java.sql.Connection;
import java.sql.SQLException;
public class JdbcDataSource extends AbstractJdbcDataSource{
public Connection getConnection() throws SQLException{
return null;
}
}