Javaでのコンフィギュレーション

1250 ワード

コヒーレントとは、関連するタイプとともにタイプが変化し、少し似ていることを意味し、javaでコヒーレントを表すのは2つの点を含む. 1.配列 AがBのスーパークラスであれば、A[]もB[]のスーパークラスであり、A[]が必要な場所はすべてB[]で代用することができる.
public class Test2 {
public static void main(String[] args){
Integer[] ints=new Integer[1];
ints[0]=99;
show(ints);
}
static void show(Number[] ns){
System.out.println(Arrays.toString(ns));
}
}
 2.override 
子クラスの上書きを許可する親関数の戻りタイプは、親クラスの上書きされた関数の戻りタイプの子クラスです.
public class Test2 {  
    public static void main(String[] args){  
        P p=new C();  
        System.out.println(p.get());  
    }  
}  
  
class P{  
    public Number get(){  
        return new Integer(0);  
    }  
}  
  
class C extends P{  
    public Integer get(){  
        return new Integer(1);  
    }  
}  

 3.パターンがコヒーレントにならない 
AがBのスーパークラスであれば、List与List没有关系,List需要的地方不能在List中代用。  public class Test2 { public static void main(String[] args) { List<Integer> ints = new ArrayList<Integer>(); //incompatible type show(ints); } static void show(List<Number> ns) { System.out.println(ns); } }