interface Role { public void showRole(); } class RLeader implements Role { public void showRole() { System.out.println("Leader"); } } class RNormalMember implements Role { public void showRole() { System.out.println("Normal Member"); } } class Member { private String name; private Role role; public Member(String n, Role r) { name = n; role = r; } public String getName() { return name; } public void showMyRole() { role.showRole(); } } public class Main1 { public static void main(String[] args) { Member e1 = new Member("Kit", new RLeader()); Member e2 = new Member("Sam", new RNormalMember()); e1.showMyRole(); // "Leader" e2.showMyRole(); // "Normal Member" } }