Java基础涉及抽象类和接口的区别:一个类只能继承一个抽象类,但可以实现多个接口;抽象类可以包含具体方法,接口中的方法都是抽象的;抽象类可以声明和使用字段,而接口不可以,接口中的变量都是final类型的常量。抽象类中方法的修饰符可以是public、protected、private或default;接口中的方法只能是public。抽象类可以定义构造函数,接口不行。抽象类主要用于抽象类别,接口主要用于抽象方法功能。何时使用抽象类,何时使用接口?如果想让一部分方法拥有默认实现,使用抽象类;如果想实现多重继承,必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。List、Set、Map的区别:List可存储重复对象,是一个有序集合,保存了每一个元素的插入顺序,常见的实现类有ArrayList和LinkedList。