zoukankan      html  css  js  c++  java
  • (2)java中的集中关系,is a, has a, 继承,重点聊聊继承

    java中常见的类关系(javacore上面也有介绍道的)

      1、is a关系()

      2.has a 整体与局部的关系

      3、继承关系 是现实世界中存在而上面两种关系又无法描述的

      当然谈的最多的是继承关系,这就出现了,父类和子类。父子类之间有下面一些故事。

    父子类中的一般注意事项

      子类显示调用父类的构造函数 使用关键字super(), 必须放到子类构造函数的第一行,否则会报错.

      super和this的区别

        super主要是在子类中使用,调用父类的构造方法super(),调用父类的属性方法super.x(), super.fun();

        this则主要在本类中使用只想当前对象。

      重写(override

        子类根据实际的需要把从父类哪里继承来的方法自己重写,方法的定义完全相同就是,方法体不一样而已。如果同一个类中两个方法的定义完全相同的话,就会报错。

      重载和重写的不同

        重载(overload)

          1、前提:必须在同一个类中

          2、特点:

            函数名相同,参数列表不同,与其他无关(访问控制符,返回值类型)

          3、不同点:参数个数不同,顺序不同,类型不同

        重写(override)

          1、前提:继承

          2、特点

            函数名必须相同、参数列相容返回值

            子类的返回值类型必须等于或者小于父类的返回值(这种大小,体现在一种父子关系中,就是说子类返回值应当和父类相同,或者是父类返回值类型的子类级别)

     


     

    有关抽象类

      有抽象函数的类(用abstract修饰的函数),该类一定是抽象类。

      抽象类中不一定又抽象函数。是不是抽象类看class有没有abstract修饰

      抽象类不能使用new关键字创建对象

    java中的接口

      java的接口其实是一种多继承

      接口可以继承接口,其实是一种高度的纯抽象类


    说说多态

      可以说,因为有了继承才有了多态,这个可以好好体会。

      1、当父类和子类具有相同的非静态成员变量,那么在多态下访问的是父类的成员变量

      2.当父类和子类具有相同的静态成员变量,多态下访问的是父类的是父类的静态成员变量

      3、当父类和子类具有相同的非静态方法(即子类父类的方法),多态下访问的是子类的成员方法

      4、当父类和子类拥有相同的静态方法(即子类重写父类的静态方法),多台下访问的是父类的静态方法.

      只要是和静态相关,都是父类优先,非静态,则是子类优先。

      Java中的访问权限,声明一句话,有关访问权限的问题,说private权限是私有的,意思就是在该类中能够看到,即便是继承的子类中也是看不到的,只有通过相关的getset方法。

  • 相关阅读:
    ELK日志分析系统
    amoeba_mysql 读写分离
    while for if ---语句和编写计划任务
    Shell awk文本处理,shell脚本编写
    shell---正则表达式和文本处理器
    linux---网络相关配置,ssh服务,bash命令及优先级,元字符
    linux---nginx服务nfs服务nginx反向代理三台web
    linux---进程,(rpm,yum)软件包
    linux---tar命令,vim编辑器,磁盘分区,挂载,链接
    linux命令权限
  • 原文地址:https://www.cnblogs.com/OliverZhang/p/6013679.html
Copyright © 2011-2022 走看看