1.接口和抽象类的区别
接口(Interface)和抽象类(Abstract Class)都是Java中用于实现多态性的机制,但它们有一些根本上的不同。
定义方式不同
接口是通过interface关键字定义的,抽象类是通过abstract class关键字定义的。
实现方式不同
一个类可以实现多个接口,但只能继承一个抽象类。
抽象方法的不同
接口中的方法都是抽象方法,抽象类中可以包含非抽象方法。
属性的不同
接口中不能包含实例属性(实例变量),而抽象类中可以包含实例属性。
2. Java 中的继承和 C++ 有什么不同
C++ 中可以实现多继承,而 Java 只能实现单继承。
3.Java 中有哪些数据结构?用过 HashMap 吗,说一下 HashMap 底层实现。
数据结构有数组,链表,队列,堆,栈,树,Map等
HashMap在JDK1.7之前采用数组加链表的形式实现,在1.8之后使用了红黑树:通过底层数组存储对象节点,采用链地址法,把新增对象节点连接在当前地址的节点下面,且规定当链表长度大于8时,将链表转换为红黑树结构。
4.Java 中用的是值传递还是引用传递?
值传递
5.面向过程和面向对象有什么区别?
面向过