Skip to content

其他知识点

Arrays工具类

操作数组的工具类

涉及数组的操作,先考虑是否工具类实现了,有的话使用现成的

方法 功能
equals 比较两个数组是否相等
toString 输出数组信息
fill 将指定值填充到数组里面
sort 排序
binarySearch 对排序好的数组使用二分查找检索指定值。返回索引或者-(insertion_point + 1)

Object类

  1. 所有类的根父类
  2. 如果没有声明继承哪个类,则默认继承Object
  3. 类中的属性、方法具有通用性。如equalstoStringgetClassclonefinalize
  4. 只有一个无参构造

equals和==的区别

  1. ==既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值(数据类型可以不同),对于引用类型就是比较内存地址
  2. equals的话,它是属于Object类里面的方法。只能用于引用数据类型。如果该方法没有被重写过默认也是==;如果重写equals方法,则一般是比较类中的相应属性是否都相等。

自定义类如何定义equals方法

原则:比较两个对象的属性是否相同

基本数据类型使用==,引用数据类型使用对应的equals方法

可以自动生成

接口

JDK7 之前,接口只能定义全局常量和抽象方法

// 全局常量: public static final
// 方法都是 public abstract 的

JDK8:可以定义静态方法和默认方法

其他:

  1. 接口中定义的静态方法,只能通过接口调用
  2. 通过接口的实现类的对象,可以调用接口中的默认方法
  3. 如果子类(或实现类)继承的父类和实现的接口有同名同参数的默认方法,如果子类没有重写,默认调用的是父类中的方法 --> 类优先原则
  4. 如果实现了多个接口,但是接口里面有有同名同参数的默认方法,则必须重写此方法
  5. 调用接口中被重写的方法:接口.super.方法名()