抽象类和接口的异同点

抽象类

1.抽象类无法被实例化,但是类的功能都依然可以存在,属性,方法,构造方法,继承都存在。

2.修饰抽象类需要用abstract去修饰,如:
         public abstract class Abcd{
       }

3.如果定义为抽象类,那么这个类得方法也必然是抽象方法,同样需要用abstract 修饰。

4.抽象方法没有方法体,例如:
         public abstract void age();

5.如果要实现这个抽象方法,就必须要在子类里写上与父类抽象方法一样得方法,如同方法得重写。(在抽象类里叫做抽象方法得实现)。如果不想实现这个抽象方法的情况下,也可以继续将它声明为抽象方法。

接口

1.接口默认为抽象的。所以声明接口的时候不需要使用 abstract 关键字修饰,接口的方法默认修饰符为:public

2.接口的关键字为:interface

3.接口可以多继承,用逗号隔开。方法与继承类得方法一致,使用extends 关键字

4.接口不能包含没有赋值的属性,要想声明变量只能用static和final进行修饰。
例如:
         public static final int age = 23;

5.接口不能包含构造方法,所定义得方法都为抽象得方法。

6.接口不能实例化,但是接口的方法必须实现(可以不调用),如果想不实现这个方法得话,就要注上为抽象方法,用abstract去修饰。一定要注意类的权限。

7.接口无法被类去继承,但是接口可以去继承另外得一个接口。类实现接口。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容