码迷,mamicode.com
首页 > 编程语言 > 详细

Java抽象类和接口

时间:2020-07-14 18:08:07      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:说明   完整   其他   必须   注意   gre   red   构造方法   使用   

抽象类

在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,那么这样的类称为抽象类。需要注意的是上面我们并没有强调一个抽象类必须要拥有抽象方法。也就是说,一个类只要它没有包含足够的信息来描绘一个具体的对象,那么它就可以称之为抽象类。
类:属性(0或多个)+方法(0或多个)
一个完整(健康)的类,所有的方法都有实现(方法体)
类可以没有方法,但是有方法就肯定要有实现,这才是一个完整的类
一个完整的类才可以被实例化出来,被new出来
如果一个类暂时有方法未有实现,需要被定义为抽象类

public abstract class Shape{
    int area;
    public abstract void calArea();
}
  • 抽象类由关键字abstract声明
  • 抽象类的组成
    -(optional)成员变量,个数不限
    -(optional) 具体方法,方法有实现,个数不限
    -(optional)抽象方法,加abstract关键字,个数不限
  • 抽象类也是类。一个类继承于抽象类,就不能继承于其他的(抽象)类
  • 子类可以继承于抽象类,但是一定要实现父类们所有abstract的方法。如果不能完全实现,那么子类也必须被定义为抽象类。
  • 只有实现父类的所有抽象方法,才能变成完整类。
    如果一个方法使用 abstract 来修饰,则说明该方法是抽象方法,抽象方法只有声明没有实现。需要注意的是 abstract 关键字只能用于普通方法,不能用于 static 方法或者构造方法中。
    抽象方法的 3 个特征如下:
  • 抽象方法没有方法体
  • 抽象方法必须存在于抽象类中
  • 子类重写父类时,必须重写父类所有的抽象方法
    注意:在使用 abstract 关键字修饰抽象方法时不能使用 private 修饰,因为抽象方法必须被子类重写,而如果使用了 private 声明,则子类是无法重写的。
    抽象类的定义和使用规则如下:
    1.抽象类和抽象方法都要使用 abstract 关键字声明。
    2.如果一个方法被声明为抽象的,那么这个类也必须声明为抽象的。而一个抽象类中,可以有 0~n 个抽象方法,以及 0~n 个具体方法。
    3.抽象类不能实例化,也就是不能使用 new 关键字创建对象。

Java抽象类和接口

标签:说明   完整   其他   必须   注意   gre   red   构造方法   使用   

原文地址:https://www.cnblogs.com/Acapplella/p/13300228.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!