java_泛型,设置类型通配符的上限
package ming; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; class Canvas {
// ? extends Shape,定义了子类,所以List<Circle>可以用
public void drawAll(List<? extends Shape> shapes) {
for (Shape s : shapes) {
s.draw(this);
}
}
} abstract class Shape {
public abstract void draw(Canvas c);
} class Circle extends Shape {
public void draw(Canvas c) {
System.out.println("在画布上 " + c + "画一个圆");
}
} class Rectangle extends Shape {
@Override
public void draw(Canvas c) {
System.out.println("在画布上 " + c + "画一个正方形");
}
} public class Apple3Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Canvas ca = new Canvas();
//--------------------------------------------------
List<Circle> list = new ArrayList<Circle>();
list.add(new Circle());
list.add(new Circle());
list.add(new Circle());
ca.drawAll(list);
//---------------不设置上面代码会报错------------------------
ArrayList<Shape> li2 = new ArrayList<Shape>();
li2.add(new Circle());
li2.add(new Rectangle());
li2.add(new Circle());
ca.drawAll(li2);
} }
java_泛型,设置类型通配符的上限的更多相关文章
- 25.数据结构,LinkedList ,泛型,类型通配符
3.数据结构 数据结构是计算机存储,组织数据的方式.是指相互之间存在的一种或多种特定关系的数据元素的集合 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率 ---------常见的数据结构 ...
- java里程碑之泛型--类型通配符
1,泛型与数组在子类上面的对比 在整理java泛型的类型通配符之前,我们先来研究下java在数组设计上的一个不合理.我们来看下面代码: public class Test { public stati ...
- Java泛型-通配符的上限和下限问题
Java的泛型中,通配符可以设置上限和下限. 上限:<? extends T> ?是T和T的子类 下限:<? super T> ?是T和T的父类 怎么看待这个上限和下限呢 首先 ...
- Java笔记2 : 泛型的体现,及其上限、下限、通配符
Java中的泛型是在jdk5.0引入的,语法不难,但是需要注意的细节有很多,这里写一下备忘. 首先是最简单的泛型类,泛型方法,泛型接口: //泛型接口的定义 interface MyInter< ...
- JAVA之旅(二十一)——泛型的概述以及使用,泛型类,泛型方法,静态泛型方法,泛型接口,泛型限定,通配符
JAVA之旅(二十一)--泛型的概述以及使用,泛型类,泛型方法,静态泛型方法,泛型接口,泛型限定,通配符 不知不觉JAVA之旅已经写到21篇了,不得不感叹当初自己坚持要重学一遍JAVA的信念,中途也算 ...
- Java_泛型
转自博客HappyCorn https://www.cnblogs.com/lwbqqyumidi/p/3837629.html 什么是泛型? 泛型,即“参数化类型”.一提到参数,最熟悉的就是定义方法 ...
- JAVA 泛型中的通配符 T,E,K,V,?
前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型. 泛型的本质是参数化类型,也就是说所操作的数据 ...
- 【转】聊一聊-JAVA 泛型中的通配符 T,E,K,V,?
原文:https://juejin.im/post/5d5789d26fb9a06ad0056bd9 前言 Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型 ...
- Java泛型中的通配符T,E,K,V
Java泛型中的通配符T,E,K,V 1.泛型的好处 2.泛型中的通配符 2.1 T,E,K,V,? 2.2 ?无界通配符 2.3 上界通配符 < ? extends E> 2.4 下界通 ...
随机推荐
- windows 7环境下配置oracle 11g 客户端
首先要去官网上下载oracle 11客户端,(我用的是64位系统)地址: http://www.oracle.com/technetwork/database/features/instant-cli ...
- 【转】特斯拉CEO马斯克:关于创业的几件重要事情
特斯拉电动汽车联合创始人兼CEO,私人太空发射公司SpaceX CEO伊隆马斯克(Elon Musk)于5月16日在南加大商学院毕业典礼上发表演讲,他谈到了关于创业的几件重要的事情:一是努力工作;二是 ...
- SharePoint 2010 master page 控件介绍(4):隐藏placeholder
转:http://blog.csdn.net/lgm97/article/details/6409225 <!-- form digest 安全控件用来进行form的安全校验--> &l ...
- HDU 5675 ztr loves math
ztr loves math Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 【译】 AWK教程指南 6在AWK程序中使用Shell命令
awk程序中允许调用Shell指令,并提供管道解决awk与系统间数据传递的问题.所以awk很容易使用系统资源,读者可利用这个特点来编写某些适用的系统工具. 范例:写一个awk程序来打印出线上人数. 将 ...
- [九度OJ]1113.二叉树(求完全二叉树任意结点所在子树的结点数)
原题链接:http://ac.jobdu.com/problem.php?pid=1113 题目描述: 如上所示,由正整数1,2,3……组成了一颗特殊二叉树.我们已知这个二叉树的最后一个结点是n.现在 ...
- HW6.2
import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...
- HDU-3436 Queue-jumpers 树状数组 | Splay tree删除,移动
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3436 树状数组做法<猛戳> Splay tree的经典题目,有删除和移动操作.首先要离散化 ...
- Unity3D入门之JavaScript
刚刚接触Unity3D游戏引擎,这里做点学习笔记.下面是我建立的简单场景,左侧的Hierarchy(层次)视图里显示了场景中所有游戏对象,这些基本对象可以从Create下拉菜单里创建.当你点击某个对象 ...
- 表单,css