抽象类的匿名子类

  1. /*
  2. * 抽象类的匿名子类
  3. *
  4. *
  5. *
  6. */
  7. public class PersonTest {
  8. public static void main(String[] args) {
  9. method(new Student());// 匿名对象
  10. Worker worker = new Worker();
  11. method1(worker);// 非匿名的类非匿名的对象
  12. method1(new Worker());// 非匿名的类匿名的对象
  13. System.out.println("********************");
  14. // 创建了一个匿名子类的对象:p
  15. Person p = new Person() {
  16. @Override
  17. public void eat() {
  18. System.out.println("吃东西");
  19. }
  20. @Override
  21. public void breath() {
  22. System.out.println("好好呼吸");
  23. }
  24. };
  25. method1(p);
  26. System.out.println("********************");
  27. // 创建匿名子类的匿名对象
  28. method1(new Person() {
  29. @Override
  30. public void breath() {
  31. System.out.println("好好呼吸新鲜空气");
  32. }
  33. @Override
  34. public void eat() {
  35. System.out.println("吃好吃东西");
  36. }
  37. });
  38. }
  39. public static void method1(Person p) {
  40. p.eat();
  41. p.breath();
  42. }
  43. public static void method(Student s) {
  44. }
  45. }
  46. class Worker extends Person {
  47. @Override
  48. public void eat() {
  49. }
  50. @Override
  51. public void breath() {
  52. }
  53. }
赠人玫瑰,手留余香
接口的匿名实现类的匿名对象
abstract关键字的使用