最近在面试过程中,遇到许多抽象类和接口的面试题,所以今天特意研究了下,然后写出来分享给大家,希望对面试的朋友有帮助,如果觉得写的可以点个赞吧!
1:抽象类可以实例化,抽象类可以通过子类间接的实例化父类,接口不能实例化。
2:抽象类可以拥有私有属性、方法,接口不能拥有。
3:抽象类方法不能使用default关键字 修饰,接口方法可以。
3:抽象类只能被extends不能被implements,接口可以被implements和extends
5:接口没有构造方法,抽象方法有
6:接口不占用堆空间,抽象类占用堆空间。
7:接口所有变量都是public static final 不可变, 抽象类可以使用任意权限修饰符修饰变量。
8:抽象类不能多extends,接口可以多extends
9:抽象类抽象方法可以被public, protected修饰,接口抽象类只能被public 修饰
10:private 可以修饰内部类,private 不能修饰内部接口
个人想法:可以使用接口代替工具类,有些情况可以代替抽象类。接口支持多继承,支持方法重写。接口不能实例化,抽象类和工具类可以通过反射实例化
原文地址:https://www.cnblogs.com/WanghHongLin/p/9380150.html
时间: 2024-11-09 09:56:38