java核心技术----接口

接口:用来描述类具有什么功能,而并不给出每个功能的具体实现。

一个类可以实现一个或多个接口。

克隆(深拷贝):创建一个新对象,且新的对象的状态与原始对象的状态相同。当对克隆的新对象进行修改时,不会影响原始对象的状态。

内部类:内部类定义在另外一个类的内部,其中的方法可以访问包含它们的外部类的域。


接口:接口不是类,不能被实例化,而是对类的一组需求的描述,这些类要遵从接口描述的统一格式进行定义,也就是说要实现接口中的方法。

接口中的所有方法自动地属于public。接口中不能含有实例域,也不能在接口中实现方法。可以将接口看作是没有实例域的抽象类。


比如要对对象进行排序必须得实现Comparable接口:

public interface Comparable<T>
{
	int compareTo(T other);
}
import java.util.Arrays;

/**
 * Created by N3verL4nd on 2016/11/25.
 */

class test implements Comparable<test>{
    private int score;

    public test(int score){
        this.score = score;
    }

    public int getScore() {
        return score;
    }

    @Override
    public int compareTo(test o) {
        return (score - o.score);
    }
}

public class HelloWorld {
    public static void main(String[] args) {
        test[] arr = new test[5];
        arr[0] = new test(100);
        arr[1] = new test(90);
        arr[2] = new test(95);
        arr[3] = new test(70);
        arr[4] = new test(80);

        Arrays.sort(arr);
        for (test t : arr){
            System.out.println(t.getScore());
        }
    }
}

接口不是类,不能使用new运算符实例化一个接口,但是却可以声明接口的变量,接口变量必须引用实现了接口的类对象,用以实现多态。

接口中不能包含实例域与静态方法,但却可以包含常量。接口中的域将自动设为public static final。





posted @ 2016-11-25 09:18  N3verL4nd  阅读(151)  评论(0编辑  收藏  举报