接口 关键词 interface 特征: 接口不能直接使用new操作符创建一个接口对象 接口可以看作一个特殊的类 接口只能有方法声明 实现接口;implement关键字 接口中的功能和实体是“有”的关系; 接口中的变量:public abstract final; 接口可以有多个实现,接口与接口之间也是可以相互继承的; jdk1.8之后 接口可以提供默认方法:default 允许公有的静态方法存在
例如:门的开门,关门,密码锁;
abstract class door{
public abstract void opendoor();
public abstract void closedoor();
}
interface Door1{
public void passdoor();
}
class SpecDoor extends door implements Door1{
@Override
public void opendoor() {
}
@Override
public void closedoor() {
}
@Override
public void passdoor() {
}
}
Comparable接口
重写compareTo方法
例如:比较两个长方形的面积:
class Recantangle1 implements Comparable<Recantangle1>{
private double width;
private double length;
public Recantangle1(double width, double length) {
this.width = width;
this.length = length;
}
public double area(){
return this.length*this.width;
}
@Override
public int compareTo(Recantangle1 o) {
if (this.area() > o.area()){
return 1;
}else if (this.area() == o.area()){
return 0;
}else{
return -1;
}
}
}
public class Test10 {
public static void main(String[] args) {
Recantangle1[] rec = new Recantangle1[2];
rec[0] = new Recantangle1(12.2,12.3);
rec[1] = new Recantangle1(13.2,14.2);
//Arrays.sort(rec);
for (Recantangle1 r:rec){
System.out.print(r.area()+" ");
}
System.out.println();
}
}