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方法。

  • 相关阅读:
    Linux Shell入门
    Linux系统结构
    Ubuntu bond 配置
    VXLAN概述
    lsof
    入驻博客园,希望可以跟大家一起讨论,一起学习和进步。
    版本管理工具小乌龟TortoiseGit的安装和使用(2)
    版本管理工具小乌龟TortoiseGit的安装和使用(1)
    定义变量时未初始化赋值的问题
    BlackBerry 9900刷机
  • 原文地址:https://www.cnblogs.com/OliverZhang/p/6013679.html
Copyright © 2011-2022 走看看