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

互动创意网站/seo到底是做什么的

互动创意网站,seo到底是做什么的,新手学做网站图,潍坊模板建站定制java泛型的日常应用有:泛型类、泛型普通方法、泛型静态方法、泛型接口、泛型擦除模式、泛型通配符、泛型上下边界。本篇详细讲解java泛型的应用,看不懂来找我。1.泛型类泛型类型用于类的定义中,被称为泛型类。最典型应用的就是各种…

java泛型的日常应用有:泛型类、泛型普通方法、泛型静态方法、泛型接口、泛型擦除模式、泛型通配符、泛型上下边界。本篇详细讲解java泛型的应用,看不懂来找我。

1.泛型类

泛型类型用于类的定义中,被称为泛型类。最典型应用的就是各种容器类,如:List、Set、Map等。

泛型类的基本写法:

1596ccd349457db8b998dfe4d67261b3.png

一个普通的泛型类(案例中泛型属性可以正常生成get set方法):

b7a7450e3cbf354ebdd102139349d665.png

(main方法测试前,请先生成属性对应的get set方法)

331ec6ea3b33536fd3772e60d2552da9.png

演示效果(部分展示)

9875a3c82adf14aa834f54c7d58cecc5.png

2. 泛型普通方法

泛型在定义普通泛型方法的时候,可以使用泛型类定义的泛型类型(本案例),也可以在普通方法中定义这个方法自己需要的特定泛型类型(参照下面的泛型静态方法定义自定义泛型方法中使用到的泛型类型)

1b833e33da6c4c9e9030a988d554b550.png

main方法测试代码:

508baec777755a63743254a8a7b3c4dd.png控制台

2e6850986637134be22977430c205ae5.png

3. 泛型静态方法

泛型静态方法中必须要声明本个方法中使用的泛型类型(),泛型类和泛型静态方法没有任何关系,泛型类是针对对象的,泛型静态方法针对于是整个类,所以为了避免混淆,建议泛型类声明的泛型类型(T)和泛型静态方法中声明的泛型类型(W)使用不同的字符来表示。

以下是无返回值的泛型静态方法:

9fab6700624c4aa51d608e3962dfc421.png

main方法测试:

46c8eb4cdf9a6da8026ff7a0ddb3d0ef.png

有返回值泛型静态方法:

6a4632e7132446bb656423f110f73c41.png

main方法测试:

a4bb032273ee64bc94d0b50d7dda4396.png

控制台运行效果:

bf6dd696a802a39fc3bcebbe292b7234.png

4.泛型接口

泛型接口与泛型类的定义及使用基本相同。

泛型接口的实现类,可以指定具体的泛型接口的具体泛型的类型。

泛型接口

717330726531861b0cac1aee5ca3ccc3.png

46c1e0f2de5b843bec781a76d7754de3.png

泛型接口实现类(实现泛型接口中的泛型类型)

92052ad248baf52c4e1e5d0d3437f0ae.png

main方法测试:

2b217661f71555c1c401ffdc7c20f8fa.png

控制台演示效果:

cfd24adde76fd0275b73e2bd1ff75aa4.png

泛型接口的实现,如果没有指定具体的泛型类型,必须要在这个实现类中声明一个泛型类型占位符给接口用。

泛型接口实现类(没有实现泛型接口中的泛型类型)

ccfe52d6f2168c58f255fe59931e0b3b.png

main方法测试:

ce897309c7611f7a284338fcbd6f092d.png

控制台效果:

c0bba813bcbad4edc9de36d03fe2e869.png

5.泛型的擦除模式

Java中的泛型实际是伪泛型,在代码编译期间有泛型做限制,但在代码运行期间,会将所有的泛型全部擦除掉。所以无论使用什么样不同类型的泛型,结果其class对象都是一致的。

087490f02d927cd81820108478b14a74.png

使用不同类型的泛型,比较其class文件,发现是相等的,证明泛型在运行期间被擦除

2f402372429448e81a8b3ccc91b2fea6.png

运行结果:

c6ff10bbdc6a91f42accdb528a553d2c.png

为什么要使用擦除模式?

为了兼容JDK老版本的编码。

6.泛型通配符

Java中的继承并不是泛型中的继承。也就是说Java中的父子关系,在泛型中并不是父子关系。

0a30a3b8be906214f308e1ff1085fdbb.png

针对于上面的show方法进行以下测试,分别定义两个不同类型泛型的类型

分别调用show方法,我们会发现p.show(p)正常执行,但是p.show(p1)无法执行,编译报错,由此证明Java中Number是Integer的父类,但是在泛型中,泛型并不知道Number是Integer的父类

972517fba6ef69996781ec0137e515c3.png

通配符:由于java中的继承关系,在泛型中不做任何声明修饰的情况下,是不被认可的,所以要使用通配符进行处理。接下来会使用通配符在泛型中将java中的继承关系重新绑定。

通配符一般使用?来表示,可以理解为?在泛型中所有类的父类。

fe713acde53fd5e3664d3e3406bbddab.png

使用通配符后代码正常编译执行:

306786d3f1c319f663d31e865c1b734a.png

演示效果:

66687300c19ebf4615c287aa3d23f4a3.png

7.泛型上下边界

上面在泛型中的继承问题,通过使用通配符就可以很好的解决掉,但是我们会发现如果只使用通配符这个泛型的绑定没有任何意义,因为使用通配符就意味着所有的类型都可以注入进来,所以为了解决这个问题,泛型引入了上边界和下边界。

(上边界)Extends和(下边界)super关键字

上边界的使用:

在读取T这个类型数据的时候,但不写入数据的时候,使用上边界

d32d6c8e6dcfcc807481707337fd6017.png

测试代码:

89b74284efac276c47a318c5a68084e4.png

效果演示:

4cc28fbf77fa899961c7071ccd0d78e9.png

下边界的使用:

需要写入数据的时候,但不需要读取的时候

24d2e3ede46ad60134c93a8953ed5974.png

测试代码:

cd8e4e8840ed2fdce8637f2be40f6235.png

看完这些,你学会了吗?

http://www.lbrq.cn/news/1424503.html

相关文章:

  • 重庆建设工业公司官网/seo合作
  • 运城公司做网站/怎么建免费网站
  • 虚拟空间网站回收池有什么作用/西安网站搭建公司
  • 大理州建设局门户网站/优质的seo快速排名优化
  • 介休市政府官网/怎么seo网站关键词优化
  • 有网站做点什么好/百度百科合作模式
  • 郑州中原网站建设/网站怎么让百度收录
  • 应用软件开发工程师是做什么的/郑州推广优化公司
  • 沈阳做网站优化/全案网络推广公司
  • 免费海外网站cdn加速/seo英文全称
  • 装修公司接单平台/长春seo结算
  • 太原百度网站排名优化/软文代理平台
  • 网站seo外包服务/企点qq官网
  • 住建部网站查询系统/seo网站搭建是什么
  • 来个网站好人有好报2024/百度推广售后客服电话
  • 招聘网站的销售怎么做/seopeix
  • 房山网站制作/怎样搭建一个网站
  • 滨州网站开发/东莞优化疫情防控措施
  • 做网站都需要什么/安徽网络seo
  • 网店美工主要负责/班级优化大师
  • 启博云微分销/海口百度seo公司
  • 重庆网站建设技术支持重庆互联网/seo视频教程汇总
  • 最专业的网站建设价格/免费网站在线客服系统源码
  • 情女照片做杯子网站/seo站内优化包括
  • 荆州市网站建设/一站式网站建设公司
  • 网页编辑与网站编辑/网络营销有什么方式
  • 网络推广公司企业/肇庆seo按天计费
  • wordpress是动态网站吗/福州百度关键词优化
  • 美做天然居家居网站/seo是什么意思电商
  • 凡客网站设计/长沙企业seo优化
  • (第十七期)HTML图像标签详解:从入门到精通
  • TexStudio中的Latex,PDFLatex,XeLatex和LuaLatex的区别
  • 安全审计-firewall防火墙
  • Linux之高可用集群实战(二)
  • Scrapy + Django爬虫可视化项目实战(二) 详细版
  • 【nginx端口】修改nginx全局模块、子模块配置,重启后依然监听80端口