美文网首页
abstract关键字--java16(14/12/2015)

abstract关键字--java16(14/12/2015)

作者: Girl_endless | 来源:发表于2015-12-16 09:04 被阅读22次

为什么要使用抽象类?

抽象类是用来模型化那些父类无法确定全部实现,而是通过子类提供其全部实现的对象的类。例如父类是几何图形,任何几何图形都有不同的面积计算方法。所以在父类中做个抽象的定义,在每一个子类中重写该计算面积的方法。


abstract:抽象的。可以用来修饰类、方法

1、abstract修饰类:抽象类

1)不可被实例化

2)抽象类有构造器(凡是类都有构造器)

3)抽象方法所在的类,一定是抽象类

4)抽象类可以没有抽象方法

>当我们设计一个类时,不需要创建此类的实例时,就可以考虑将其设置为抽象,由其子类来实现这个类的抽象。

2、abstract修饰方法:抽象方法

1)格式:没有方法体,包括{ },如:public abstract void eat( );

2)抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法。

3)若子类继承了抽象类,并重写了所有的抽象方法,则此类是一个“实体类”,即可以实例化。

4)若子类继承了抽象类,没有重写所有的抽象方法,意味着此类中仍有抽象方法,则此类必须声明为抽象的!

-------------------------------

abstract     不能用来修饰属性、构造器、private、final、static

修饰属性:不可以,abstract用来修饰属性没有意义,因为抽象类是需要在其继承的子类中进行重写的,而方法不管子类是否重写,都不会覆盖父类的属性,所以没必要抽象。所以子类便不能覆盖(重写)声明为private的方法;

修饰构造器:不可以,因为构造器不能够被重写;

修饰private方法:不可以,因为private不能跨类访问,所以哪怕在子类里面有父类的私有方法,也不被认为是重写;

修饰final:不行,定义成final本身就不能被重写,而抽象又需要被重写,所以矛盾;

修饰static:声明成静态的可以通过类来调用,但是抽象类里面没有方法体,所以通过类来调用静态的没有什么意义。

相关文章

  • abstract关键字--java16(14/12/2015)

    为什么要使用抽象类? 抽象类是用来模型化那些父类无法确定全部实现,而是通过子类提供其全部实现的对象的类。例如父类是...

  • final关键字--java16(14/12/2015)

    final:最终的,可以用来修饰类、属性、方法 1、final修饰类:这个类就不能被继承。如String类、Str...

  • 2018-08-30学习记录

    abstract关键字: 1)用abstract关键字修饰一个类时,这个类叫做抽象类;用abstract关键字修饰...

  • 必学——Java抽象类、接口、多态

    1、用关键字abstract修饰类称为abstract类(抽象类) abstract class A { … } ...

  • Java抽象类和接口详解

    《abstract关键字》 —————————— 抽象类:含有抽象方法的类。抽象类必须也要用abstract关键字...

  • 2019-03-05 abstract

    Java abstract abstract 可以被哪些关键字修饰?private ×static ×final ...

  • Java篇-抽象类abstract关键字

    一 : abstract关键字 abstract : 解释为抽象的,可以用来修饰类,方法 abstract 修饰类...

  • Java中abstract不能共存的关键字

    abstract修饰不能和哪些关键字共存? static不能和abstract组合,由于abstract没有方法体...

  • Java学习第12天

    abstract关键字 如果一个方法暂时无法给出实现,那么可以将其声明为抽象方法 - abstract关键字 抽象...

  • Dart 笔记 9 - 类(2)

    抽象类 加 abstract 关键字,抽象方法没有实现体,不需要 abstract 关键字。 隐式接口 每个类都隐...

网友评论

      本文标题:abstract关键字--java16(14/12/2015)

      本文链接:https://www.haomeiwen.com/subject/yaduhttx.html