1.接口与回调:
回调模式中可以指出某个特定事件发生时应该采取的动作,例如每十秒触发一个事件等等
2.javax.swing.JOptionPane 1.2:
static void showMessageDialog(Component parent,Object message)
显示一个包含一条消息和OK按钮的对话框。这个对话框将位于其parent组件的中央。如果parent为null,对话框将显示在屏幕的中央
3.javax.swing.Timer 1.2:
Timer(int interval,ActionListener listener)
构造一个定时器,每隔interval毫秒通告listener一次
void start()
启动定时器。一旦启动成功,定时器将调用监听器的actionPerformed
void stop()
停止定时器,一旦停止成功,定时器将不再调用监听器的actionPerformed
4.java.awt.Toolkit 1.0:
static Toolkit getDeaultToolkit()
获得默认的工具箱。工具箱包含有关GUI环境的信息
void beep()
发出一声铃响
5.Comparator接口:
这个接口对应Arrays.sort的第二个版本,有一个数组和一个比较器(comparator)作为参数,比较器是实现了Comparator接口的类的实例:
public interface Comparator<T>{
int compare(T first,T second);
}
要按长度比较字符串,可以如下定义一个实现Comparator<String>的类:
class LengthComparator implements Comarartor<String>{
public int compare(String first,String second){
return first.length()-second.length();
}
}
具体完成比较时,需要建立一个实例:
Comparator<String> comp = new LengthComparator();
if(comp.compare(words[i],words[j]>0))...
排序的时候需要为Arrays.sort方法传入一个人LengthComparator对象:
String[] friends = {"Peter","Paul","Mary"};
Arrays.sort(firends,new LengthComparator);
6.对象克隆(Cloneable接口):
这个接口指示一个类提供了一个安全的clone方法
clone方法是Object的一个protected方法
默认的克隆操作是“浅克隆”,并没有克隆对象中引用的其他对象
对于每个类需要确定:
1)默认的clone方法是否满足要求
2)是否可以在可变的子对象上调用clone来修补默认的clone
3)是否不该使用clone
实现Cloneable接口;重新定义clone方法,并指定public访问修饰符
Cloneabel接口的出现与接口的正常使用并没有关系。它没有指定clone方法,这个方法是从Object类继承的。这个接口只是作为一个标记
即使clone的默认(浅拷贝)实现能够满足要求,也需要实现Cloneable接口,将clone重新定义为public,再调用super.clone(),例如:
class Employee implements Cloneable{
public Employee clone() throws CloneNotSupportedException{
return (Employee)super.clone();
}
}
在Java SE 1.4之前,clone方法的返回类型总是Object,而现在可以为你的clone方法指定正确的返回类型
所有数组类型都有一个public的clone方法,而不是protected。可以使用这个方法建立一个新数组,包含原数组所有元素的副本