Skip to content

Instantly share code, notes, and snippets.

@xenoterracide
Last active August 29, 2015 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xenoterracide/1e5c4cc8cb9f156594a6 to your computer and use it in GitHub Desktop.
Save xenoterracide/1e5c4cc8cb9f156594a6 to your computer and use it in GitHub Desktop.
Java 7 Single Inheritance
// this is a bad idea, juse use slf4j
class SimpleLogger {
void log( String message ) {
System.out.println(getClass() + message );
}
}
class InfoLogger extends SimpleLogger {
Logger log = LoggerFactory.getLogger(LogOne.class);
@Override
void log( String message ) {
log.info( message );
}
}
class DebugLogger extends SimpleLogger {
Logger log = LoggerFactory.getLogger(LogOne.class);
@Override
void log( String message ) {
log.debug( message );
}
}
class Logged { // logged will work with any of the above implementations
void logHelloWorldWithSimpleLogger( SimpleLogger logger ) {
logger.log("Hello, World");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment