如 以下代码
String s = (String)it.next
在比如
import java.util.*;
class Person
{
private String name;
private int age;
Person (String name,int age)
{
this.name=name;
this.age = age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
class ArrayListTest2
{
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
ArrayList al = new ArrayList();
al.add(new Person("lisi01",30));
al.add(new Person("lisi02",32));
al.add(new Person("lisi02",32));
al.add(new Person("lisi03",33));
al.add(new Person("lisi04",35));
al.add(new Person("lisi04",35));
Iterator it = al.iterator();
while(it.hasNext())
{
Person p = (Person)it.next();
sop(p.getName()+"::"+p.getAge());
}
}
}
其中的 Person p = ( person)it.next();
视频中说的为多态的向下转型 ,随后多态转换的视频我又看了一遍,里面中有动物和猫的转换
Cat c =(cat)a; //解释为 强制将父类的引用。转成子类类型。
随后又查找了一遍子父类的视频 结果没有找到相关的介绍
“<>转换方式我能理解”
于是有了以下的疑问:
1. (cat) 或(person) 或(String) 是什么意思?相当与什么代码?强制是如何强制的?
2.(Cat)或者 Person p = ( person)it.next(); 中的(Person)是固定位置,固定写法吗?写在其他部位行不行?
3.如果有详细介绍这部分的视频,希望能说下在那部分,我去多看几遍 |