按照我对提问的理解,应该是想要知道两个问题:一、接口与抽象类的区别,二、java关键字怎么理解。(虽然不知道是不是一定是您想要的,但至少带给您一些帮助吧)

首先来看第一个,接口与抽象类的区别:

如何理解接口抽象类和关键字

一、抽象类

抽象类是为了继承而存在的,是用来捕捉子类通用性的。必须在类前用abstract关键字修饰,它不能被实例化,只能被用作子类的超类,可以将它看成是用来创建继承层级里子类的模版。

虽然包含了抽象方法的类就是抽象类,但不意味着抽象类中只能存在抽象方法,它跟普通类一样,也可以拥有自己的成员方法和变量。

如果一个类继承于一个抽象类,那么子类必须要实现父类的抽象方法,否则子类必须也定义为abstract类。

二、接口

接口就是平时我们提供别人调用的方法。可以将其想象成抽象方法的集合,使用interface关键在修饰,如果一个类实现了某个接口,那么就必须实现接口中的方法,java允许一个类实现多个接口。

三、两者的区别总结

1、一个类只能继承一个抽象类,但是可以实现多个接口;

2、抽象类中可以包含抽象方法和非抽象方法,但是,接口中的所有方法均为抽象的;

3、抽象类中可以包含静态代码块和静态方法,而接口则不允许。

如何理解接口抽象类和关键字

四、何时使用抽象类,何时用接口

1)如果你想让一些方法有默认的实现,那么请使用抽象类;

2)如果你想实现多重继承,那么请使用接口。

五、最后说下关键字

java中的关键字很多,比如,有访问控制的:private、public、protected;有类、方法、变量修饰符的:class、abstract、interface、static;有程序控制的:for、while、continue、break等等,这里就不一一列举了。

由上述看来,关键字可以理解为事先定义好的有特殊含义的字符,它们可以用来被java所认识,用来表示一种数据类型或者程序结构的。