JAVA(抽象类和接口)

作者:杨裙
本次任务完成时间:2019年5月5日
开发工具与关键技术:MyEclipse 10、Java
一、抽象类
1、抽象方法的定义:通过abstract关键字来修饰的类称为抽象类。
2、在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象, 这样的类就是抽象类。
3、抽象类和一般的类没有太大的区别,都是在描述事物,只不过抽象类在描述事物时,功能不具体,但一般类有的,抽象类都可以有,如:成员变量 、构造器(用于给子类对象进行初始化)、方法、初始化块。
4、抽象方法只包含一个方法名,没有方法体,使用abstract修饰。
如上关于抽象的例子:
在这里插入图片描述
5、由于抽象类不能实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例,抽象类必须被继承才能被使用,而且子类必须实现父类的所有方法,否则编译不能通过,如图:
在这里插入图片描述
在这里插入图片描述
6、 如果没有子类来实现此抽象类的话,那么定义抽象类就没有意义了,所以一定要有子类来实现此抽象类。
7、 抽象类中不一定包含有抽象方法,但是有抽象方法的类一定是抽象类。
8、 抽象关键字 abstract和private、static、final这几个关键字不能共存:
private: 如果是私有的,那么子类就不能覆盖抽象类的所有抽象方法。
static :如果是静态的,静态成员是不需要对象的。
final:被final修饰的类是不能被继承的,因为final是一个最终类。
9、必须通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。

二、接口
1、 接口是用关键字:Interface定义的。
2、 接口里包含:常量、抽象方法。接口里的字段全是全局变量,默认的修饰符是public static final,并且必须赋初始值,可以不写public static final,编译的时候会自动帮忙添加修饰符;接口里没有普通的方法,全部都是抽象的方法,图例:
在这里插入图片描述
3、接口中有抽象方法,说明接口也不可以实例化,接口的子类必须实现了接口中所有的抽象方法后, 该子类才可以实例化。否则,该子类还是一个抽象类。
4、接口不是类,但接口的编写方式和类很相似,但是它们属于不同的概念。类是描述对象的属性和方法。接口则包含类要实现的方法。类与类之间存在继承关系,类与接口之间存在实现关系。
5、接口的实现用关键字:implements。
6、接口是允许多继承的,不能继承类,一个接口能继承另一个接口,和类之间的继承方式比较相似。接口继承使用的关键字也是extends,子接口继承父接口的方法,所以接口的出现避免了单继承的局限性,如图:
在这里插入图片描述
7、当类要实现接口的时候,类就要实现接口的所有方法。否则,类必须声明为抽象的类。
在类声明中,implements关键字要放在class声明后面,接口的实现必须在继承之后,如图:
在这里插入图片描述
8、在java类中是可以实现多个接口,如图:
在这里插入图片描述
9、抽象类可以有构造器,但是接口不能有构造器。而且接口没有main方法,因此我们不能运行它。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值