接口类

  • 可以用instanceof检查一个对象是否实现了某个特定接口
    anObject instanceof Comparable
  • 接口中不能包含实例域或者静态方法,但是可以包含常量,没有被实现的方法。接口中的方法自动被设置为public,域自动被设为public static final
  • java.lang.Comparable<T>
    java.lang.CompareTo(T other)
    用这个对象与other进行比较。如果这个对象小于other则返回负值;否则返回正值。
class Employee implements Comparable<Employee>
{
public int compareTo(Employee other){
return Double.compare(salary,other.salary);
}
}
  • java.util.Arrays
    static void sort(Object[] a)
    使用mergesort算法对数组a中的元素进行排序。要求数组中的元素必须属于实现了Comparable中的类,并且元素之间必须是可比较的。
  • java.lang.Integer
    static int compare(int x, int y)
    如果x<y返回一个负整数;如果x=y返回0;否则返回一个正整数。

对象克隆

Cloneable接口的出现与接口的正常使用没有任何关系。接口在这里只是作为一个标记,表明类的设计者知道要进行克隆处理。如果一个对象需要克隆,而没有实现Cloneable接口,就会产生一个已检测异常。
即使clone的默认实现(浅拷贝)能够满足需求,也应该实现Cloneable接口,将clone重定义为public,并调用super.clone()。

class Employee implements Cloneable
{
//raise visibility level to public,change return type
public Employee clone() throws CloneableSupportedException
{
return (Employee) super.clone();
}
}

为了实现深拷贝,必须克隆所有可变的实例域。

class Employee implements Cloneable{
public Employee clone() throws CloneNotSupportedException{
//call Object.clone()
Employee cloned = (Employee) super.clone();
//clone mutable fields
cloned.hireDay = (Date) hireDay.clone();
return cloned;
}
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 6 接口与内部类 后面将介绍Java的几种常用的高级技术,掌握以完善自己的Java工具箱。 首先,接口(inter...
    我快要上天啦阅读 3,251评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,929评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 11,937评论 0 62
  • 1. 概述 接上篇《用Java实现JVM(一):刚好够运行 HelloWorld》 >>源码在这下载,加 Star...
    老曹撸代码阅读 8,166评论 4 15
  • 首先你形成啤酒肚的根本原因:肌肉逐渐流失,能量摄入>能量消耗。 所以,在家训练有这几个特别好的动作:俯卧撑、深蹲、...
    实不相瞒阅读 1,612评论 0 0