code_junkie

Overriding a method with Generic Parameters in Java?

Nov 11th, 2011
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. Monitor x = new EmailMonitor();
  2. List<NonEmailAccount> nonEmailAccounts = ...;
  3. x.performMonitor(nonEmailAccounts);
  4.  
  5. Monitor x = new EmailMonitor();
  6. List<NonEmailAccount> nonEmailAccounts = ...;
  7. x.performMonitor(nonEmailAccounts);
  8.  
  9. Monitor x = new EmailMonitor();
  10. List<NonEmailAccount> nonEmailAccounts = ...;
  11. x.performMonitor(nonEmailAccounts);
  12.  
  13. public abtract class Monitor<T extends MonitorAccount>
  14. {
  15. ...
  16. public abstract List<? extends T> performMonitor(
  17. List<? extends T> accounts);
  18. }
  19.  
  20. public class EmailMonitor extends Monitor<EmailAccount>
  21. {
  22. @Override
  23. public abstract List<? extends EmailAccount> performMonitor(
  24. List<? extends EmailAccount> accounts)
  25. {
  26. // Code goes here
  27. }
  28. }
  29.  
  30. public abstract class Monitor <T extends MonitorAccount> {
  31. ...
  32. public abstract List<T> performMonitor(List<T> accounts);
  33. ..
  34. }
  35.  
  36. public class EmailMonitor extends Monitor<EmailMonitor> {
  37. ...
  38. public List<EmailAccount> performMonitor(List<EmailAccount> emailAccounts) {
  39. ..//logic...logic...logic
  40. return emailAccounts;
  41. }
  42. ...
  43. }
Add Comment
Please, Sign In to add comment