我正在閱讀爲什麼Java中的數組協方差不好(Why are arrays covariant but generics are invariant?)。如果Dog是Animal的子類型,則Dog[]是Animal[]的子類型。這是一個問題,因爲可以這樣做: Animal[] animals = new Dog[1];
animals[0] = new Cat();
這與正確實施的泛型不同。
類 public class Building
{
public string Name = "Not To Be Seen";
...
}
public class School: Building
{
public int NoOfRooms = 200;
public string Address = "123 Main St.";