public interface Basic_IO { int read(int, byte[], int); int write(int, byte[], int); } public interface Buffered_IO extends Basic_IO { int buf_read(int, byte[], int); int buf_write(int, byte[], int); } public interface File_IO extends Basic_IO { int file_read(int, byte[], int, int); int file_write(int, byte[], int, int); } public class File extends SomeClass implements Buffered_IO, File_IO { public int read(int fd, byte[] buf, int count) { ... } public int write(int fd, byte[] buf, int count) { ... } public int buf_read(int fd, byte[] buf, int count) { ... } public int buf_write(int fd, byte[] buf, int count) { ... } public int file_read(int fd, byte[] buf, int count, int off) { ... } public int file_write(int fd, byte[] buf, int count, int off) { ... } }