1 因为接口中只有全局常量和抽象方法,因此在接口中以下关键字全都可以省略不写:public abstract static final
2 子类如果继承一个抽象类实现多个接口,那么先使用extends继承一个类,然后用implements实现多个接口。
3 接口和接口之间可以用extends继承多个父接口。但是不能用来继承多个类!
4 JDK8之后,接口中允许存在普通方法,接口中的普通方法用default定义。定义的为成员方法,必须通过具体的子类对象来使用。
JDK内置的对象比较接口 java.lang.Comparable 接口
覆写comparaTo方法然后根据返回值判定大小
此处为Object类型的原因是,object是参数的最高统一化,一定是所有类的父类,只要比较的是类都可以用其接收。
JDK内置的Cloneable接口,实现深浅拷贝
浅拷贝:对于类中的其他类型的引用,只拷贝引用,不拷贝引用指向的具体对象
深拷贝:全部拷贝,哪怕是引用,其指向的对象也拷贝。实现的方法:
1 递归进行clone的调用
不断递归直至把所有的内容全部复制
2 进行序列化操作 - -json字符串
序列化:先将任意对象转换为json字符串,然后再反序列化,将特定的字符串转为某个具体类的对象。
抽象类与接口区别 (JDK8之前)
快捷方法:IDEA自动填充tostring