zoukankan      html  css  js  c++  java
  • 抽象abstract

    1):一个类如果有抽象方法,这个类一定是抽象类。抽象类不一定有抽象方法。抽象方法是以分号结束。不是以{}。

    抽象方法也不提供实现代码。

    2):任何拓展抽象类的类都必须实现超类的所有抽象方法。除非子类也是抽象的。规则如下:

        抽象类的第一个具体子类必须实现超类的所有抽象方法。

    3):抽象方法因为是不能被实例化的,所以使用的时候要先进行子类对其实例化。然后实现它的方法。

      abstract 和final 不能同时使用。

        原因:abstract设计指超类完全不知道子类在该方法中应该怎样运作。
                             final设计意味着超类知道子类在该方法中应该怎样运作的每件事情。

      abstract和private不能同时使用:

        原因:private方法甚至不能被子类看到(更不要说被继承)。所以它们也不能被重写。

      abstract和static不能同时使用:

        原因:static不需要实例就可以使用。

            abstract需要继承实现才能使用。

                     抽象是多态的一种体现,可以有子类来实现它。
                静态不能实例化,故不能被子类引用。
                你把一个类定义为abstract就是为了达到多态这个目的,如果abstract与static一起用的话,JVM则无法编译你要做什么。所以他们俩不能一起使用。

  • 相关阅读:
    cogs 896. 圈奶牛
    bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘
    bzoj 1007: [HNOI2008]水平可见直线
    bzoj 3673: 可持久化并查集 by zky
    bzoj 3545: [ONTAK2010]Peaks
    bzoj 1901: Zju2112 Dynamic Rankings
    动态 K th
    poj 2104 K-th Number
    bzoj 3657 斐波那契数列(fib.cpp/pas/c/in/out)
    青蛙的约会
  • 原文地址:https://www.cnblogs.com/bulrush/p/7053857.html
Copyright © 2011-2022 走看看