1 接口是什么?
接口是用来描述类具备的功能,但是并不给出具体的实现。一个类可以继承1个或者多个借口。通过接口来实现多继承。
2接口可以做什么:
在接口定义的方法不需要提供关键字public, 因为接口中所有的方法自动属于public的。
接口中可以包含多个方法,可以再接口中定义常量。
3接口不能做什么?
接口中不能含有实例域,也不能在接口中实现方法。
定义一个接口
package six;
/**
@Title Comparable.java
@description TODO
@author qinpeng
@date Jul 28, 2009 10:58:04 PM
*/
public interface Comparable {
//接口中定义的方法均为public
int comparableTo(Object other);
}
4 类实现一个接口
将类声明为实现给定的接口。
对接口所有的方法实现。
package six;
/**
@Title Employee.java
@description TODO
@author qinpeng
@date Jul 28, 2009 11:13:37 PM
*/
public class Employee implements Comparable {
public int comparableTo(Object other) {
if((Integer)other>0){
return (Integer)other;
}
return 0;
}
}
4 对象克隆与拷贝
1 对象拷贝
创建一个对象的新拷贝,他的初始状态和对象是一样的,但是他们终究引用的是同一个对象,也就是说当你修改拷贝对象时,被拷贝对象的状态也会发生改变
public class Copy {
public static void main(String[] args)throws CloneNotSupportedException {
Employee e = new Employee("pangmeimei","1224",5000D);
Employee eCopy = e;
System.out.println(e.getSalary());
eCopy.setSalary(3000D);
System.out.println(e.getSalary());
}
输出结构是:5000
3000
eCopy 是 e 的拷贝对象,当修改eCopy的域时,e 的域也会随之发生改变.
2 克隆:创建一个对象的克隆,他的初始状态和对象一直,并且以后可以改变各自的状态,相互不受影响。
package six;
import five.Employee;
/**
@Title Copy.java
@description TODO
@author qinpeng
@date Aug 4, 2009 10:17:34 PM
*/
public class Copy {
public static void main(String[] args)throws CloneNotSupportedException {
Employee e2 = new Employee("pangmeimei","1224",5000D);
Employee eOri = e2.clone();
eOri.setSalary(2000D);
System.out.println(e2.getSalary());
}
}
输出:5000
可以看出,修改克隆对象eOri 的域,对被克隆对象e 没有任何影响。