List<子类>转List<父类>遇到的问题

public class A{

}

public class B extends A {

}

一个方法中如下定义:

public List<A> funName(List<A> a){

}

如下调用时报错
List<B> params;
List<B> b = funName(params);

/////////////////////////////////
应该如下定义方法

public List<? extends A> funName(List<? extends A> a){

}
时间: 2024-11-08 11:30:17

List<子类>转List<父类>遇到的问题的相关文章

java中字段继承问题--子类不能继承父类的私有成员

public class Test1 { private int t1 = 1; public int getT1() { return t1; } public void setT1(int t1) { this.t1 = t1; } } 以上是Test1类,有个private的t1,值为1,给了get/set方法. public class Test2 extends Test1 { private int t1 = 2; public static void main(String[] a

构造函数的继承--子类不继承父类的构造函数,只能调用

关于子类对父类构造函数的继承: 子类必须调用父类的构造函数.默认情况下会自动调用父类的无参构造函数.如果父类没有无参构造函数,则必须显式的用super()调用一个构造函数. 创建对象时,先调用父类的构造函数对对象进行初始化, 然后再调用子类自己的构造函数 子类只继承(其实是默认调用)父类的默认(无参)构造函数,如果父类重写了自己的构造函数,就会导致父类没有无参构造函数,这样子类就不能从父类继承构造函数.

继承实现的原理、子类中调用父类的方法、封装

一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--->A--->E--->B--->C. class E: def test(self): print('from E') class A(E): def test(self): print('from A') class B: def test(self): print('from B'

php 子类如何访问父类的静态方法

1.子类内部访问父类静态成员属性或方法,使用 parent::method()/self::method() 注意:$this->staticProperty(父类的静态属性不可以通过$this(子类实例)来访问,会有这样报错:PHP Strict Standards: Accessing static property Person::$country as non static in,PHP Notice: Undefined property: ) 2.子类外部 1.子类名::method

Java中子类继承了父类的私有属性及方法吗?

最近学习继承,从书中看到子类继承父类,子类拥有父类所有的属性和方法,于是使用程序去验证,发现父类的私有属性和私有方法,子类是不能访问的,当然一些父类的私有属性可能可以通过相应的方法访问到,但是私有的方法似乎不能简单的访问,这里暂不考虑Java反射机制,于是我分析,子类不能继承父类私有的属性及方法,但是分析了内存后,我发现我是错的,在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象.所以所谓的继承使子类拥有父类所有的属性和方法

c++与java中子类中调用父类成员的方法

1 java中: 2 import java.util.Scanner; 3 public class ClassTest{ 4 public static void main(String args[]){ 5 child ch=new child(2); 6 parent p=ch; 7 p.print(); 8 //p.print2();//调用错误,父类中没有改成员方法,该方法只属于子类! 9 } 10 } 11 12 class parent{ 13 int xx; 14 parent

Day17:继承实现的原理、子类中调用父类的方法、封装

一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--->A--->E--->B--->C. class E: def test(self): print('from E') class A(E): def test(self): print('from A') class B: def test(self): print('from B'

Java中子类能继承父类的私有属性吗?

前段时间去听老师讲课的时候,老师告诉我子类是可以继承父类所有的属性和方法的.当时我是极其疑惑的,因为之前学校考试时这个考点我记得很清楚:子类只能继承父类的非私有属性和方法.老师给我的解释是这样的--先看下面一段代码 /** * 定义父类 * @author CBS */ public class Father { private String name;//私有属性 private char sex; public void tell(){ System.out.println(name+sex

Java多态 实例子类自动调用父类为空的构造方法 成员变量不支持Override 可写,没多态效果

=======子类 实例化的时候 默认调用父类为空的构造方法 即super();可省略. 但是当父类没有为空的构造方法的时候就必须在子类中       调用这个方法先实例父类 才能实例子类. 父类为空的构造方法 默认存在 在子类中默认自动调用. ========父类引用指向子类对象的时候  根据引用变量中 实例所属的类调用不同的类的方法,这种多态只适用于方法不适用与成员变量. 简单的理解为Java不支持属性字段覆盖(override),只支持方法覆盖,属性字段 不可重写. ========实例化

子类会继承父类对于接口的实现

项目截图: 实现代码: 1 package exercise2; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 7 interface CircleShape { 8 double PI = 3.14159; 9 10 double area(double radius); 11 } 12 13 class Circle implemen