(1)抽象类和接口不能被直接实例化,二者实例化涉及到多态。如果
抽象类要实例化或者接口要实现,这个子类必须实现这个抽象类或者接口
所有的方法
(2)抽象类要被子类继承,接口要被子类实现
(3)接口里面只能对方法进行声明,抽象类既可以对方法进行声明,也可以对方法进行实现。
(4)抽象类里面的抽象方法必须全部被子类实现,如果子类不能全部实现,那么子类也必须是抽象类。接口里面的方法也必须被子类实现,如果
子类不能实现,那么子类必须是抽象类
(5)抽象类里面可以没有抽象方法,接口的方法都是抽象的
(6)如果一个类里面有抽象方法,那么这个类一定是抽象类
(7) 抽象类中的方法都要被实现,所以抽象方法不能是静态的static,也不能是用final修饰。当抽象类是Java内部类的时候可以被
private修饰;不是内部类的话,就不可以修饰。
(8)接口(类)可以继承一个或多个接口,但类只能继承一个类
(9)抽象级别:接口 > 抽象类 > 实现类
(10) 当关注事物的本质的时候,用抽象类。当关注某种操作的时候,用接口。
(11)接口的设计具有更大的可拓展性,而抽象类的设计必须十分谨慎。
Java中的抽象类和接口的区别
最新推荐文章于 2023-08-27 09:36:51 发布