zoukankan      html  css  js  c++  java
  • 抽象类和抽象方法

    抽象方法:在类中没有方法体的方法,就是抽象方法。

    抽象类:含有抽象方法的类就叫抽象类。

    抽象类中的抽象方法必须被实现!
    如果一个子类没有实现父类中的抽象方法,则子类也成为了一个抽象类!
    抽象类中的普通方法,可以不必实现。


    1 用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。例如 :
    abstract class Animal { //用abstract来定义一个Animal为抽象类
    }

    public abstract void enjoy(); //用abstract来定义一个抽象方法"enjoy"

    含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。

    抽象类不能被实例化。

    抽象方法只需声明,而不需实现某些功能

    abstract class 和 interface(抽象类和接口)

          1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。

      2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。

      3.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。 

      4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。

      5.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

      6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。 

      7.接口中的方法默认都是 public,abstract 类型的。

  • 相关阅读:
    八数码(BFS)
    食物链(并查集)
    最大异或对(Trie)
    解决espeak编译的一些问题
    AcWing 3779. 相等的和
    AcWing 3775. 数组补全(环图)
    AcWing 3728. 城市通电(最小生成树)
    AcWing 3727. 乘方相乘(进位制)
    tarjan
    LC刷题简要记录
  • 原文地址:https://www.cnblogs.com/wenwen123/p/5533691.html
Copyright © 2011-2022 走看看