黑马程序员技术交流社区

标题: 面向对象中,多态的练习示例 [打印本页]

作者: kemeng    时间: 2015-3-11 15:00
标题: 面向对象中,多态的练习示例
  1. /*
  2. 基础班学生:学习,睡觉
  3. 高级版学生:学习,睡觉
  4. */
  5. abstract class Student
  6. {
  7.         public abstract void study();
  8.         public void sleep()
  9.         {
  10.                 System.out.println("躺着睡");
  11.         }
  12. }

  13. class BaseStudent extends Student
  14. {
  15.         public void study()
  16.         {
  17.                 System.out.println("基础班学生学习");
  18.         }
  19.         public void sleep()
  20.         {
  21.                 System.out.println("坐着睡");
  22.         }

  23. }
  24. class AdvStudent extends Student
  25. {
  26.         public void study()
  27.         {
  28.                 System.out.println("高级版学生学习");
  29.         }
  30. }

  31. class DoSome
  32. {
  33.         public void doSome(Student s)
  34.         {
  35.                 s.study();
  36.                 s.sleep();
  37.         }
  38. }

  39. class Demo4
  40. {
  41.         public static void main(String[] args)
  42.         {
  43.                 /*BaseStudent b=new BaseStudent();
  44.                 b.study();
  45.                 b.sleep();
  46.                 AdvStudent a=new AdvStudent();
  47.                 a.study();
  48.                 a.sleep();
  49.                 */
  50.                 //doSome(new BaseStudent());
  51.                 DoSome d=new DoSome();
  52.                 d.doSome(new BaseStudent());
  53.         }
  54.         public static void doSome(Student s)
  55.         {
  56.                 s.study();
  57.                 if(s instanceof BaseStudent)
  58.                 {
  59.                         BaseStudent base=(BaseStudent)s;
  60.                         base.sleep();
  61.                 }
  62.         }
  63. }
复制代码



作者: linder_qzy    时间: 2015-3-11 15:07
顶一下 学习学习
作者: mark.tian    时间: 2015-3-11 21:40
学习学习了,楼主大腿真粗。。。。
作者: wu1123    时间: 2015-3-12 00:38
刚看完的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2