当前位置: 首页 > news >正文

威宁网站建设企业管理咨询报告案例

威宁网站建设,企业管理咨询报告案例,电子商务网站建设与管理小论文,临沂专门做网站的​笔记汇总:《Java面向对象程序设计》学习笔记 ​# 第 13 章 泛型与集合框架 Java 提供了实现常见数据结构的类,这些实现数据结构的类通称为 Java 集合框架。 在 JDK1.5 后, Java 集合框架开始支持泛型,本章首先介绍泛型&#…

​笔记汇总:《Java面向对象程序设计》学习笔记

​# 第 13 章 泛型与集合框架

Java 提供了实现常见数据结构的类,这些实现数据结构的类通称为 Java 集合框架。

在 JDK1.5 后, Java 集合框架开始支持泛型,本章首先介绍泛型,然后讲解常见数据结构类的用法。

13.1 泛型

泛型 (Generics) 是在 JDK1.5 中推出的,其主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构,本节主要对 Java 的泛型有一个初步的认识(基本够用)。

定义泛型类

使用 "class 名称〈泛型列表〉”声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,如:

class People<E>

其中 People 是泛型类的名称, E 是其中的泛型,

也就是说我们并没有指定 E 是何种类型的数据,它可以是任何对象或接口,但不能是基本类型数据

也可以不用 E 表示泛型,使用任何一个合理的标识符都可以,但最好和我们熟悉的类型名称有所区别

// 不使用泛型
class Cone {double height,Circle bottom,public Cone (Circle b) {bottom = b;}
}// 使用泛型
class Cone<E> {double height,E bottom,public Cone (E b) {bottom = b;}
}

泛型类声明对象

和普通的类相比,泛型类声明和创建对象时,类名后多了一对“ <> ”

而且要用具体的类型替换“ <> ”中的泛型(或使用统配?)。

用具体的类型

用具体的类型替换“ <> ”中的泛型,例如,用具体类型 CircIe 替换泛型 E :

Circle circle = new Circle();
Cone<Circle> coneOne;    // 具体类型 Circle ,不可以用泛型 E : Cone<E> cone0ne;
coneOne = new Cone<Circle>(circle);

使用统配?

泛型类声明对象时,可以使用通配符?来限制泛型的范围。

例如,限制泛型 E 的范围:

Cone<? extends Geometry> coneOne;

如果 Geometry 是类,那么“<? extends Geometry >”中的“:? extends Geometry ”表示任何Geometry 类的子类或 Geometry 类本身(可理解为泛型 E 被限制了范围);

如果 Geometry 是接口,那么“<? extends Geometry >”中的“:? extends Geometry" 表示任何实现 Geometry 接口的类。

假设 Geometry 是接口, Circle 是实现了 Geometry 接口的类,那么下列创建 cone()ne 就是合法的:

Circle circle = new Circle();
coneOne = new Cone<CircIe>(circ1e);

再如:

Cone <? super B > coneOne;

这里 B 必须是一个类,不可以是接口,“<? super B >”中的“:? super B ”表示 B 类的任何父类(包括 B 类本身)。

泛型类声明对象时,也可以仅仅使用通配符“?”代表泛型 E ,但不限制泛型 E 的范围(”?“代表任意类型),创建对象时,必须用具体的类型,例如:

Circle circle = new Circle();
Cone<?> coneOne = new Cone<Circle>(circle);

小结

Java 泛型的主要目的是可以建立具有类型安全的数据结构,如链表、散列表等数据结构,

最重要的一个优点就是:在使用这些泛型类建立的数据结构时,不必进行强制类型转换,即不要求进行运行时类型检查。

JDK 1.5 是支持泛型的编译器,它将运行时的类型检查提前到编译时执行,使代码更安全。

Java 推出泛型的主要目的是为了建立具有类型安全的数据结构,如链表、散列映射等。

13.2 链表


还在做笔记中,请耐心等待

http://www.yayakq.cn/news/328593/

相关文章:

  • 网站大图怎么做更吸引客户学计算机月薪一般多少
  • 网站建设就业前景2017广东网站建设找哪家
  • 郑州网站建设公司咨询网站开发类的合同
  • 广州网站建设+美词包小盒设计网站官网
  • 导航网站开发上海专做特卖的网站
  • 建设平台网站协议漳平网站编辑价格
  • 如何制作网站策划书沈阳画册设计公司
  • 一般去哪个网站做写手爱2345网址大全
  • 如何 在网站上面做推广网页设计作业保护动物
  • 门户网站开发设计报告中国建设银行网站易方达消费
  • 西安做门户网站最好的公司网站建设骗
  • 网站建设留言板实验心得北京公司注册官网
  • 9夜夜做新郎网站wordpress商品展示模块
  • 设计师图片素材网站有哪些万能浏览器有哪些
  • 国家查企业的网站100元建网站
  • 知名网站建设加工陕西网站开发联系方式
  • 昌邑微信网站建设公司滁州网站建设费用
  • 婚纱摄影团购网站模板wordpress自己制作主题
  • 做外贸常用的网站.net 网站制作
  • 山西网站建设推广淄博网站排名
  • 菜谱网站手机源码申请网站域名怎么做网站
  • 网页设计尺寸1440seo哪里可以学
  • 做网站需要租空间吗做外贸经常用的网站
  • 做公司网站的wordpress 二维码插件下载地址
  • 网站报价wordpress插件漏洞扫描
  • 网站htm建设一个网站里有两个网页怎么做
  • 800元做小程序网站中标公示查询官网
  • 传奇官方网站做服装团购网站
  • 微网站开发技术网站开发人员岗位要求
  • 广西柳州网站建设小程序公司英文网站 字体大小