Java抽象类

    xiaoxiao2022-07-07  186

    Java抽象类

    开发工具与关键技术:java 撰写时间:2019/5/15

    抽象类 : abstract 抽象:不具体,看不明白。抽象类表象体现。 在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样, 没有抽取,这时抽取到 的方法,并不具体,需要被指定关键字 abstract 所标示,声明为抽象方法。 抽象方法所在类一定要标示为抽象类,也就是说该类需要被 abstract 关键字所修饰。 抽象类的特点: 1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由 abstract 关键字修饰(可以描 述类和方法,不可以描述变量) 。 2:抽象方法只定义方法声明,并不定义方法实现。 3:抽象类不可以被创建对象 ( 实例化 )。 4:只有通过子类继承抽象类并覆盖了抽象类中的 所有抽象方法后,该子类才可以实例化。否 则,该子类还是一个抽象类。 抽象类的细节: 1:抽象类中是否有构造函数?有,用于给子类对象进行初始化。 2:抽象类中是否可以定义非抽象方法? 可以。其实,抽象类和一般类没有太大的区别, 都是在描述事物, 只不过抽象类在描述事物时, 有些功能不具体。所以抽象类和一般类在定义上, 都是需要定义属性和行为的。 只不过,比一般类 多了一个抽象函数。而且比一般类少了一个创建对象的部分。 3:抽象关键字 abstract 和哪些不可以共存? final , private , static 4:抽象类中可不可以不定义抽象方法?可以。抽象方法目的仅仅为了不让该类创建对象。 总结:抽象类本身不可以实例对象,需要被其子类继承后,覆写完该抽象父类的方法后才可以被使用,否则该子类还是抽象类,当然抽象类了也可以包含一般方法,抽象类不可以用final , private , static,否则该抽象方法没有意义,抽象类用 private 修饰,里面可以有用 private修饰的方法(没有方法体),强制子类进 行覆写; 可以理解为:具有某些公共方法的一个总结类。抽象类是类的一种特殊情况:据有类的一切特点,但是不能实例化;一般的都得带有抽象 方法。 抽象类不可以实例化,有时看到的近似实例化是多态机制的体现,并不是真正的实例化。

    最新回复(0)