首页 > 其他分享 >泛型的继承和通配符

泛型的继承和通配符

时间:2023-02-23 09:23:06浏览次数:27  
标签:AA 继承 List ArrayList object 通配符 泛型 new

泛型的继承和通配符说明 GenericExtends.java
file

import java.util.ArrayList;
import java.util.List;

/**
 * @author 安然的尾巴
 * @version 1.0
 */
public class Test {
    public static void main(String[] args){
        //泛型没有继承性
        //List<Object> list = new ArrayList<String>();
        
        List<Object> list1 = new ArrayList<>();
        List<String> list2 = new ArrayList<>();
        List<AA> list3 = new ArrayList<>();
        List<BB> list4 = new ArrayList<>();
        List<CC> list5 = new ArrayList<>();
    }
    // ? extends AA 表示 支持 AA 或者 AA 子类
    //规定了泛型的上限
    public static void print1(List<? extends AA> c) {
        for (Object object : c) {
            System.out.println(object);
        }
    }
    //说明: List<?> 表示 任意的泛型类型都可以接受
    public static void print2(List<?> c) {
        for (Object object : c) { // 通配符,取出时,就是 Object
            System.out.println(object);
        }
    }
    // ? super 子类类名 AA:支持 AA 类以及 AA 类的父类,不限于直接父类 比如Object顶级父类也支持
    //规定了泛型的下限
    public static void print3(List<? super AA> c) {
        for (Object object : c) {
            System.out.println(object);
        }
    }
}

class AA{}
class BB extends AA{}
class CC extends BB{}

标签:AA,继承,List,ArrayList,object,通配符,泛型,new
From: https://www.cnblogs.com/lldwb/p/17146716.html

相关文章

  • java中定义一个类可以同时继承两个类
    转载:百度知道(baidu.com)java中一个类不能直接继承两个类。比如说这样:classAextendsB,C不能这样写,因为java不支持多继承,但是可以像下面这样实现继承多个类:classAext......
  • js继承
    什么是继承?继承建立在面向对象基础上的一种代码复用方式,子类通过继承来复用父类的代码1.原型链继承过程:访问对象时,如果对象私有属性中没有该属性,会去对象的构造函数的pr......
  • 继承与this指针
    子类构造时,父类的构造函数中若出现this,那么这个this时指向子类对象的:参考:https://blog.csdn.net/qilvmilv/article/details/47324487 此外qt中:      他打......
  • 类和对象-继承
    继承是面向对象三大特性之一定义类时,下级别的成员除了拥有上一级的共性,还有自己的特性,就可以考虑使用继承的技术,减少代码的重复继承的基本语法语法:class子类:继承方式......
  • 继承Thread开启多线程下载图片(不推荐,java的单一继承性)
    packagecom.Java;importorg.apache.commons.io.FileUtils;importjava.io.File;importjava.io.IOException;importjava.net.URL;//练习多线程Thread,实现多线程下载图片......
  • Java泛型精讲
    一、泛型类型E-Element(在集合中使用,因为集合中存放的是元素)T-Type(表示Java类,包括基本的类和我们自定义的类)K-Key(表示键,比如Map中的key)V-Value(表示值)N-Num......
  • 第十八章 多重继承与虚继承
    第十八章用于大型程序的工具大规模应用程序的特殊要求包括:在独立开发的子系统之间协同处理错误的能力。使用各种库进行协同开发的能力。对比较复杂的应用概念建模的......
  • 泛型类型约束
    一.new约束new约束指定泛型类声明中的类型实参必须有公共的无参数构造函数。若要使用new约束,则该类型不能为抽象类型。当泛型类创建类型的新实例时,请将new约束应......
  • 泛型概述
    泛型概述Author:MsuenbDate:2023-02-20所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将......
  • sql面试题_SQl优化技巧_1、注意通配符中like的使用,百分号放后面_2、避免在where子句中
    系列文章目录作为程序员经常和数据库打交道的时候还是非常频繁的,掌握住一些Sql的优化技巧还是非常有必要的。下面列出一些常用的SQl优化技巧文章目录​​系列文章目录​​​......