JAVA list中如何将类型为子类的list引用赋值给类型为父类的list引用?
发布网友
发布时间:2022-05-11 07:19
我来回答
共3个回答
热心网友
时间:2023-10-08 17:49
List<Animal>和List<Dog>不是一个类型,也不是继承关系。
这里的泛型应该写作
List<? extends Animal> list = new ArrayList<Dog> ();追问那还有一个继承自animal的cat,我Cat cat = new cat();
想上面写了后list.add(cat)?可以吗?为什么呢?谢谢!!!
热心网友
时间:2023-10-08 17:50
可以强制转换,但是会出问题,编译的时候没问题,但是使用的时候,会出问题
热心网友
时间:2023-10-08 17:50
强制转换就行了(List<Animal>)dog
JAVA list中如何将类型为子类的list引用赋值给类型为父类的list...
List<Animal>和List<Dog>不是一个类型,也不是继承关系。这里的泛型应该写作 List<? extends Animal> list = new ArrayList<Dog> ();
java中将子类的变量赋值给父类变量的问题
al.add(new String("我是字符串类型,是object子类"));String str = (String)al.get(0);//al.get(0); 返回的是object类型的,需要下溯类型成String。因为我们知道放进去的时候是String类型的,取出时下溯转换成String是(程序员控制的)安全;...
Java子类和父类有相同的属性 ,如何通过子类给父类的属性赋值
直接用son对象是不能给父类赋值的哦。你可以再Son类中添加一个方法:public void setFatherA(String a){ super.setA(a); }然后就可以通过son.setFatherA("a");来给父类a赋值。
java List的<>中为什么不支持将子类对象传递给父类参数?
因为java中的泛型属于伪泛型,编译器编译后的字节码文件(.class)将List<ChildTest> cList变为了List cList,这就是泛型擦除的过程,那么List cList默认的泛型类型就是Object,对它来说插入ChildTest类型完全可以,但是在调用temp2方法中为List<Test>类型的引用变量赋值就有点说不过去了。还有一个经典的...
java如何在子类中赋值给父类的变量
使用super关键字就可以了,比如:父类里的ele属性 如果是public的直接super.ele="abc";但如果是private的,并有set方法就调用set方法 super.setEle("abc");
在java中实例化一个子类对象赋给父类对象引用或一个实现了接口的类的...
赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。也就是说,父亲的行为像儿子,而不是儿子的行为像父亲。举个例子:从一个基类中派生,响应一个虚命令,产生不同的结果。比如从某个基类继承出多个对象,其基类有一个虚方法Tdoit,然后其子类也有这个方法,但行为不同,然后这些...
java中子类如何对父类中的变量进行赋值并引用?
用super关键字啊 比如你父类又一个int的实例变量i 在子类里用 super.i=10;这样就行
JAVA 将接口的引用指向实现类的对象
List list=new ArrayList();也就是说所有实现了接口List的类,都可以用List接口来声明对象类型,然后用实体类进行实例化.这表明了接口可以用来作为类型的表述.当然,生成的对象list只能调用接口List中提供的方法.同样的操作也可以用在父类与子类身上,例如设A类是B类的父类 则创建B类对象的时候可以用以下...
java中子类如何继承父类的含参数的构造方法
子类的构造函数中 用super(参数类型 参数);同时子类的构造函数本身的参数列表要和父类的匹配
java 中当把子类对象赋值给父类对象后,父类调用的重构函数是子类的还...
aaa.outprint();//父子中都有这个方法,打印一句话,System.out.println("我是父(子)类");结果是答应出"我是子类"其实很好理解,子类的对象副职给父类,但是NEW的还是子类的,引用还是指向子类的空间,通常我们用对象副职,副职的也是引用,如 B b = new B();A a = b;此时是将b对象的引用副职给a...