zoukankan      html  css  js  c++  java
  • 多态

    访问权限修饰符:

    四个访问权限修饰符:范围从大到小  Public   protected   default   private

    修饰类:  public   default

    Public(全局修饰符):所有类都可以访问(不同包下面要导包)

    Default(包权限修饰符):同一个包下面可以访问

    修饰成员:Public   protected   default   private  

    Public:所有类都可以访问

    Protected:(子类权限修饰符):同一个包下面和不同包下的子类

    Default:只能在同一个包下面才能访问

    Private:只有当前类才可以访问

    Final修饰符:最终

    修饰类:不能被继承   比如Math类,String

    修饰成员变量或者局部变量都是不能被修改值

    注意:修饰引用的时候,不能重新被new, 地址不能改变

    修饰方法:这个方法不能被重写  比如Object类当中的getClass方法


    多态:

    1、什么叫多态:一种对象对应多种状态   Animal a = new Cat()   向上转型

    2、前提

       1、必须有继承关系,或者实现关系

       2、必须有方法重写

       3、父类引用指向子类对象

    3、多态的好处:

    提高了代码的扩展性:

    扩展性:同一个方法可以接收不同类型的数据

    4、多态成员中运行效果

    1、成员方法:Fu f = new ZI();  //因为方法进行重写

               F.eat()   调用子类的方法

               编译看左边,运行看右边

    2、成员变量:  Fu f  =new ZI()   syso f.num//父类中num,因为成员变量不存在重写

        编译看左边,运行也看左边

    5、多态的弊端

      父类引用不能访问子类的特有方法

      怎么解决? 向下转型  Animal a = new Cat()     Cat c = (Cat)a

    1:抽象方法:只有方法声明,没有方法体

    2:抽象类:当一个类中有抽象方法的时候,就必须声明为抽象类

    3:抽象类的特点:

       1、用abstract修饰

       2、抽象方法的类一定是抽象类,但是抽象类中不一定有抽象方法

       3、抽象类不能被实例化,因为实例化之后访问到的方法没有方法体,没有意义

       4、如果一个类继承一个抽象类,那么这个类要么是抽象类,要么是重写了父类的所有抽象方法

    抽象类成员特点:

    1、成员变量:成员变量,常量

    2、有构造器,但是不能创建对象。

    3、可以有抽象方法,和非抽象方法

     抽象方法是子类必须要重写,非抽象方法是解决代码复用,被子类继承

  • 相关阅读:
    最短路径算法 2.Dijkstra算法
    最短路径算法 1.Floyed-Warshall算法
    POLYGON(动态规划)
    JAG Asia 2016-Similarity of Subtrees(BFS+哈希)
    2019ACM-ICPC南京网络赛Holy Grail (SPFA / Floyd 模板题)
    2019ACM-ICPC南京网络赛Greedy Sequence
    快速输入输出
    2019HDU多校训练第七场J-Just Repeat
    JAG Asia 2017 C-----Prime-Factor Prime(素数区间筛)
    2019HDU多校训练第五场1007-permutation 2
  • 原文地址:https://www.cnblogs.com/future-zmy/p/6081509.html
Copyright © 2011-2022 走看看