首页 青云排行榜 知识中心 控制台

关于接口和抽象类的区别,说法正确的是

抽象类和接口中只能定义静态变量

抽象类和接口中都只能定义抽象方法

抽象类具备构造方法,接口中没有构造方法

抽象类和接口两者都是,只允许单继承

接口和抽象类的区别:
抽象类:
抽象类中可以定义抽象方法外也可以定义构造器,可以包含静态方法静态变量,以及普通方法普通变量,总之就只是失去创建对象的能力,除此之外,普通类有的,抽象类都具备;
一个类只能继承一个抽象类;
有抽象方法的类必须声明为抽象类,而抽象类未必要有抽象方法;
抽象类中抽象方法的访问类型可以是public、protected和default。

接口:
JDK7之前,接口中的只能定义常量和抽象方法。
JDK8之后,接口中可以有默认方法,静态方法,JDK9又新增私有方法等非抽象方法。
接口中不能定义构造方法。
一个类可以实现多个接口。
抽象方法默认都是 public abstract 修饰的,可以省略不写。
常量默认都是 public static final修饰的,可以都省略不写也可任意省略哪个。

相同点:
都不能被实例化。
一个类如果继承了某个抽象类或者实现了某个接口,都需要对其中的抽象方法全部进行实现,否则该类仍需要被声明为抽象类。

作用区别:
1.抽象类可以被子类继承,而且只能单继承。
2.接口可以被子类实现,而且支持多实现;接口也可以被其他接口继承,而且是多继承。
关于我们
公司简介
联系我们
联系我们
售前咨询: leizhongnan@eval100.com
售后服务: 0755-26415932
商务合作: support@eval100.com
友情链接
金蝶软件
快递100
关注我们
Copyright © 2023-2023 深圳慧题科技有限公司 粤ICP备2023109746号-1 粤公网安备44030002001082