オブジェクト向け3
1307 ワード
参考資料:『Head First Java』
まず、コードのセットです.
import java.util.ArrayList;// ArrayList ;
class Dog1 {//Dog1 ;
private String name;// ;
public void bark() {// ;
System.out.println("bark");
}
}
public class ObjectTest {// ;
public static void main(String[] args) {
ArrayList dList = new ArrayList<>();// Dog1 ArrayList;
Dog1 d = new Dog1();// Dog1;
dList.add(d);// ArrayList ;
Dog1 ad = dList.get(0);// Dog1 Dog1 ;
ad.bark();
}
}// bark;
ただし、次の場合は、
import java.util.ArrayList;
class Dog1 {
private String name;
public void bark() {
System.out.println("bark");
}
}
public class ObjectTest {
public static void main(String[] args) {
ArrayList
JavaではすべてのクラスがObjectというクラスから継承されていることを知っていますが、はっきり言えば「万用クラス」です.ただし、上記のArrayListではDog 1のオブジェクトを保存できますが、get()メソッドを呼び出して取り出したオブジェクトがObjectタイプであるため、コンパイラがDog 1であることを確認できないため、エラーが発生します.
ArrayListから取り出したものは、元のものが何であってもObjectタイプの参照として扱われます.