一、简介

本文总结最常见的面试题之一:接口和抽象类的区别。

二、区别

如下表所示:

接口和抽象类对比

区别

Interface接口

Abstract class(含有抽象方法的类成为抽象类)

声明方式

interface

abstract

使用方式

implements

extends

修饰符

接口方法默认修饰符是public。你不可以使用其它修饰符。

抽象方法可以有public、protected和default这些修饰符

main方法

接口没有main方法,因此我们不能运行它。(java8以后接口可以有default和static方法,所以可以运行main方法)

抽象方法可以有main方法并且我们可以运行它

特性

1.      接口中的所有变量都是public static final

2.      接口中的所有方法都是抽象方法

3.      可以同时实现多个接口

1.      抽象类可以有抽象方法,也可以没有。可以有普通方法,也可以没有

2.      普通类继承抽象类,必须实现其中的抽象方法,如果不实现,那么必须也是抽象类

3.      一个普通类只能继承一种抽象类

4.      一个抽象类实现了一个接口,可以不实现其抽象方法

实例化

不能实例化

不能实例化

构造函数

接口没有构造方法

抽象类可以用构造方法

成员变量和方法

必须是静态常量和抽象方法,不能含有静态代码块以及静态方法

可以有成员变量和成员方法,可以有静态代码块和静态方法

说明

接口是特征,是对一种行为的抽象,比如,鸟类拥有的特征是飞。

抽象类是内容,是对一种事物的抽象,比如,鸟类是所有鸟的抽象。

使用示例

public interface IStudent {

public static final String NAME = "ABC";

public abstract void test();

default void test1(){

}

static void test2() {

}

}

public abstract class AbsClass {

private int a;

public AbsClass(int a) {

this.a = a;

}

public AbsClass() {

}

public void test() {

}

public abstract void test2();

}

面试题之接口和抽象类的区别相关推荐

  1. 面试题:接口和抽象类的区别

    区别一,两者表达的概念不一样.抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于"是"的关系:而接口是定义行为规范,因此对于实现接口的子类来说,相对于接 ...

  2. java接口和抽象类的区别

    Java基础之接口与抽象类的区别 1.基本语法区别 Java中接口和抽象类的定义语法分别为interface与abstract关键字. 抽象类:在Java中被abstract关键字修饰的类称为抽象类, ...

  3. Java基础之接口与抽象类的区别

    1.基本语法区别 Java中接口和抽象类的定义语法分别为interface与abstract关键字. 抽象类:在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法 ...

  4. java 关注公众号没有调接口_高频面试题:接口和抽象类的区别

    作为一个基础的Java高频面试题,是所有Java面试者必须烂熟于心的.当然不能死记硬背,可以通过实际地写几个小demo,边实际操作边理解,既能感受到编程的快乐,更重要的是真的理解记住了二者的区别. 此 ...

  5. java接口和抽象类的区别(经典面试题)

    java接口和抽象类的区别(经典面试题) 要了解接口和抽象类的区别,首先需要明白接口和抽象类的定义. 1.抽象类 包含抽象方法的类称为抽象类,但并不意味着抽象类中只能有抽象方法,它和普通类一样,同样可 ...

  6. 接口和抽象类的区别(面试题)

    接口和抽象类的区别(*) 语法上 相同点 接口和抽象类都能定义属性和方法 接口和抽象类都只是特殊的类,都是通过子类来操作 抽象类和接口中都可以没有抽象方法 接口和抽象类都不能直接创建对象 接口和抽象类 ...

  7. Java接口学习(接口的使用、简单工厂、代理模式、接口和抽象类的区别)

    前言引入 官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 我的 ...

  8. python接口和抽象类的区别_接口和抽象类有什么区别?

    最近团队在招人:阿里新零售事业群CBU技术部招Java高级&专家,团队主要负责B2B工业品牌业务,坐标杭州滨江,有兴趣的小伙伴私戳我. **************************** ...

  9. 接口与抽象类的区别和联系

    接口 1.因为java不支持多重继承,所以有了接口,一个类只能继承一个父类,但是可以实现多个接口,同时接口本身也可以继承多个接口. 2.接口里面的成员变量默认是public static final类 ...

  10. 接口和抽象类的区别?

    接口和抽象类的区别? 我先来说说它们俩在语法上的区别吧,然后再来谈谈我的个人理解. 抽象类可以有具体的方法和属性,  接口只能有抽象方法和常量. 抽象类使用abstract修饰,接口使用interfa ...

最新文章

  1. 同盾反欺诈云防垃圾灌水帖体验分享
  2. NR 5G UE和5G网络功能之间的安全流程
  3. 通过jS打包下载图片
  4. Windows 环境下 Chrome浏览器崩溃“STATUS_INVALID_IMAGE_HASH”
  5. 经典面试题(9):以下代码将输出什么?并解释你的答案。
  6. Visual Studio.NET 无法创建或打开应用程序之解决方法
  7. 多项logistic回归系数解释_逻辑回归logistic(含python代码)
  8. WINRAR密码去除/破解工具
  9. 计算机毕业设计【HTML+CSS+JavaScript服装购物商城】毕业论文源码
  10. 魔方cfop公式软件_魔方与群论(一)(不要被标题吓到,高中生就可以看)
  11. Windows下使用chkdsk修复移动硬盘/磁盘
  12. 程序猿的情怀 语录(三)
  13. axure rp pro 9.0授权密钥
  14. ios6 屏幕旋转总结
  15. archivelog模式和flashback db以及guarantee restore point之间的相互制约关系!
  16. 华为路由器命令手册_用数据说话,华为路由Q2 Pro与网件R7800对比测评
  17. kali2021 JDK配置与安装(独一无二的详细)
  18. 【蓝桥杯程序设计大赛感想】 一路艰辛 一路收获
  19. 需求分析阶段的各个步骤
  20. 中职计算机公开课说课稿,校内公开课说课稿

热门文章

  1. kaggle:Costa Rican Household Poverty Level Prediction(2):Base line
  2. C/C++[codeup 2026]日期类
  3. Charles Https 请求 SSL乱码问题 charles unreadable
  4. 巨人 index.php/user/login,dedecms实现首页顶部会员登陆框的方法
  5. 足球比赛两强相遇概率
  6. uva1583-digit generator
  7. python 京东 价格_python根据京东商品url获取产品价格
  8. [LeetCode][easy]Create Target Array
  9. Affymetrix基因芯片小总结
  10. 我的世界android制作教程,《我的世界手机版》怎么制作mod制作JS教程图文攻略