程序的结构大致如下
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는 인터페이스입니다. B의 대상으로 간주된다.
이런 방식으로 작성하면 많은 메소드에 오버로드가 필요하지 않다는 장점이 있습니다. 모든 클래스에 대해 정렬 메서드를 작성할 필요는 없으며, 정렬 메서드만 작성하면 됩니다. 다른 많은 방법에서는 더 이상 오버로드가 필요하지 않습니다.
迷茫2017-04-17 16:17:05
1.String은 Comparable 인터페이스를 구현하므로 Comparable 유형으로 간주할 수 있습니다.
2 3 질문이 이해가 안 됩니다. . .