程序的结构大致如下
class A {
sort(**Comparable[] x**){
//此处进行插入排序等
}
。。。main(String[] args)
{
String[] arr={......} //一个字符串数组
A a=new A();
a.sort(**arr**);
}
}
1.sort(...)方法需要的参数是一个Comparable数组,而arr是一个字符串数组,为什么可以直接传入arr那?
2.x[i]和a[i]表示同一个元素,为什么那?
3.这样写有什么好处那?
PHP中文网2017-04-17 16:17:05
String は Comparable インターフェイスを実装しているため、すべての String オブジェクトを Comparable オブジェクトと見なすことができます
String のソース コードを確認できます
これはポリモーフィズムを実現するためです。たとえば、A が B を拡張すると、サブクラス A のオブジェクトは B のオブジェクトと見なすことができます。
同様に、A は B を実装し、B はインターフェイスであり、A の任意のオブジェクトが可能です。 Bの対象とみなされます。
この方法で記述する利点は、多くのメソッドをオーバーロードする必要がないことです。すべてのクラスに sort メソッドを記述する必要はなく、sort メソッドを記述するだけです。他の多くのメソッドはオーバーロードを必要としなくなりました。
迷茫2017-04-17 16:17:05
1.String は Comparable インターフェイスを実装しているため、Comparable 型と見なすことができます
2 3 質問の意味がわかりません。 。 。