zoukankan      html  css  js  c++  java
  • 黑马程序员面向对象继承

    ---------------------- android培训java培训、期待与您交流! ----------------------

    继承

    继承的概述

    1.多个类中存在相同的属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需再定义这些属性和行为,只要继承单独的那个类即可。

    2.多个类可以成为子类,单独这个类称为父类或者超类。

    3.子类可以直接访问父类中的非私有的属性和行为。

    4.通过extends关键字让类于类之间产生继承关系,

    Java代码 复制代码 收藏代码
    1. 如:
    2. class SubDemo extends Demo{}
    3. class C
    4. {
    5. void demo1(){}
    6. }
    7. class A extends C
    8. {
    9. //void demo1(){}
    10. void demo2(){}
    11. }
    12. class B extends C
    13. {
    14. //void demo1(){}
    15. void demo3(){}
    16. }

    优点:继承的出现提高了代码的复用性。

    继承的出现让类于类之间产生了关系,提供了多态的前提。

    继承的特点:

    1.java只支持单继承,不支持多继承。

    因为多继承容易带来安全隐患:当多个父类中定义了相同功能,

    当功能内容不同时,子类对象不确定要运行哪一个。

    但是java保留这种机制。并用另一种体现形式来完成表示。多实现。

    一个类只能有一个父类,不可以有多个父类。

    Java代码 复制代码 收藏代码
    1. class SubDemo extends Demo{}

    2.java支持多层继承(继承体系)

    Java代码 复制代码 收藏代码
    1. class A{}
    2. class B extends A{}
    3. class C extends B{}

    定义继承需要注意:

    1.不要仅为了获取其他类中的某个功能而去继承

    2.类于类之间要有所属(“is a”)关系,xx1是xx2的一种。

    如何使用一个继承体系中的功能呢?

    想要使用体系,先查阅体系父类的描述,因为父类中定义的是该体系中共性功能。

    通过了解共性功能,就可以知道该体系的基本功能。

    那么这个体系已经可以基本使用了。

    那么在具体调用时,要创建最子类的对象,为什么呢?

    一是因为有可能父类不能创建对象,

    二是创建子类对象可以使用更多的功能,包括基本的也包括特有的。

    简单一句话:查阅父类功能,创建子类对象使用功能。

    关系:

    聚集- |has a

    |聚合关系不是很紧密,如球员。

    |组合事物关系连接紧密,如手和身体

    子父类出现有类中成员的特点:

    Java代码 复制代码 收藏代码
    1. class Fu
    2. {
    3. private int num = 4;
    4. public void setNum(int num)
    5. {
    6. this.num =num;
    7. }
    8. public int getNum()
    9. {
    10. return this.num;
    11. }
    12. }
    13. class Zi extends Fu
    14. {
    15. //int num = 5;
    16. void show()
    17. {
    18. System.out.println(num);
    19. }
    20. }
    21. class ExtendsDemo2
    22. {
    23. public static void main(String[] args)
    24. {
    25. Zi z = new Zi();
    26. z.show();
    27. //System.out.println(z.num+"...."+z.num);
    28. }
    29. }

    类中成员:

    1,变量。

    2,函数。

    3,构造函数。

    1,变量

    如果子类中出现非私有的同名成员变量时,

    子类要访问本类中的变量,用this

    子类要访问父类中的同名变量,用super。

    super的使用和this的使用几乎一致。

    this代表的是本类对象的引用。

    super代表的是父类对象的引用。

    2,子父类中的函数。

    Java代码 复制代码 收藏代码
    1. class Fu
    2. {
    3. void show()
    4. {
    5. System.out.println("fu show");
    6. }
    7. void speak()
    8. {
    9. System.out.println("vb");
    10. }
    11. }
    12. class Zi extends Fu
    13. {
    14. void speak()
    15. {
    16. System.out.println("java");
    17. }
    18. void show()
    19. {
    20. System.out.println("zi show");
    21. }
    22. }
    23. class ExtendsDemo3
    24. {
    25. public static void main(String[] args)
    26. {
    27. Zi z = new Zi();
    28. z.speak();
    29. }
    30. }
    31. class Tel
    32. {
    33. void show()
    34. {
    35. System.out.println("number");
    36. }
    37. }
    38. class NewTel extends Tel
    39. {
    40. void show()
    41. {
    42. //System.out.println("number");
    43. super.show();
    44. System.out.println("name");
    45. System.out.println("pic");
    46. }
    47. }


  • 相关阅读:
    CentOS 7 修改时区
    flink与kafka结合
    Kafka 原理和实战
    kafka单机多节点部署
    使用yumdownloadonly下载RPM包及依赖包
    使用Onvif协议进行设备发现以及指定设备信息探测
    kafka相关脚本操作
    Python入门篇-基础语法
    Python入门篇-pyenv安装及应用
    zabbix Server 4.0监控Flume关键参数
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3576062.html
Copyright © 2011-2022 走看看