黑马程序员技术交流社区

标题: 面向对象之继承 [打印本页]

作者: ℃葫芦    时间: 2015-8-16 20:02
标题: 面向对象之继承

复制代码

  1. 继承的好处:
  2.         1,提高了代码的复用性。
  3.         2,让类与类之间产生了关系,给第三个特征多态提供了前提.



  4. java中支持单继承。不直接支持多继承,但对C++中的多继承机制进行改良。

  5. 单继承:一个子类只能有一个直接父类。

  6. 多继承:一个子类可以有多个直接父类(java中不允许,进行改良)
  7.                 不直接支持,因为多个父类中有相同成员,会产生调用不确定性。
  8.                 在java中是通过"多实现"的方式来体现。


  9. java支持多层(多重)继承。

  10. C继承B,B继承A。
  11. 就会出现继承体系。

  12. 当要使用一个继承体系时,
  13. 1,查看该体系中的顶层类,了解该体系的基本功能。
  14. 2,创建体系中的最子类对象,完成功能的使用。

  15. class Demo
  16. {
  17.         void show1(){}
  18. }


  19. class DemoA extends Demo
  20. {
  21. //        void show1(){}
  22.         void show2(){}
  23. }
  24. class DemoB extends Demo
  25. {
  26. //        void show1(){}
  27.         void show3(){}
  28. }

  29. 什么时候定义继承呢?

  30. 当类与类之间存在着所属关系的时候,就定义继承。xxx是yyy中的一种。 xxx extends yyy

  31. 所属关系: is a 关系。




  32. */
  33. /*
  34. class A
  35. {
  36.         void show()
  37.         {
  38.                 System.out.println("a");
  39.         }
  40. }
  41. class B
  42. {
  43.         void show()
  44.         {
  45.                 System.out.println("b");
  46.         }
  47. }
  48. class C extends A,B
  49. {
  50. }
  51. new C().show();
  52. */
  53. class Person
  54. {
  55.         String name;
  56.         int age;
  57. }



  58. class Student extends/*继承*/ Person
  59. {
  60. //        String name;
  61. //        int age;
  62.         void study()
  63.         {
  64.                 System.out.println(name+"...student study.."+age);
  65.         }
  66. }


  67. class Worker extends Person
  68. {
  69. //        String name;
  70. //        int age;
  71.         void work()
  72.         {
  73.                 System.out.println("worker work");
  74.         }
  75. }


  76. class ExtendsDemo
  77. {
  78.         public static void main(String[] args)
  79.         {
  80.                 Student s = new Student();
  81.                 s.name= "zhangsan";
  82.                 s.age = 22;
  83.                 s.study();
  84.         }
  85. }
复制代码



作者: wzh4488    时间: 2015-8-16 21:02
我昨天刚学完继承呢!顶一下




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