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

django校园网站开发C 网站开发招聘

django校园网站开发,C 网站开发招聘,网站建设月薪,wordpress卡密销售目录 通配符的作用 先看一段代码 用通配符?后,代码变化 结论 通配符上界 通配符下界 对通配符上下界的注释理解及其练习代码 简记: ? 用于在泛型的使用#xff0c;即为通配符. 在Java中#xff0c;通配符#xff08;wildcard#xff09;主要用于泛型…目录 通配符的作用 先看一段代码 用通配符?后,代码变化 结论 通配符上界  通配符下界 对通配符上下界的注释理解及其练习代码   简记: ?  用于在泛型的使用即为通配符. 在Java中通配符wildcard主要用于泛型编程用于表示一个不确定的类型。 通配符有三种形式1.通配符?  2.通配符? extends T   3. 通配符? super T 通配符的作用 先看一段代码 class Test0 {public static void main(String[] args) {System.out.println(1.String);MessageString message1 new Message();message1.setMessage(fly in the sky!);fun1(message1);System.out.println(2.Integer);MessageInteger message2 new Message();message2.setMessage(99);fun2(message2);System.out.println(3.Character);MessageCharacter message3 new Message();message3.setMessage(s);func3(message3);System.out.println(4.Short);MessageShort message4 new Message();message4.setMessage((short) 213);func4(message4);System.out.println(5.Long);MessageLong message5 new Message();message5.setMessage(1024L);func5(message5);System.out.println(6.Float);MessageFloat message6 new Message();message6.setMessage(3.1415926f);func6(message6);System.out.println(7.Double);MessageDouble message7 new Message();message7.setMessage(1024.0213);func7(message7);System.out.println(8.Boolean);MessageBoolean message8 new Message();message8.setMessage(true);func8(message8);}public static void fun1(MessageString tmp) {System.out.println(tmp.getMessage());}public static void fun2(MessageInteger tmp) {System.out.println(tmp.getMessage());}public static void func3(MessageCharacter tmp) {System.out.println(tmp.getMessage());}public static void func4(MessageShort tmp) {System.out.println(tmp.getMessage());}public static void func5(MessageLong tmp) {System.out.println(tmp.getMessage());}public static void func6(MessageFloat tmp) {System.out.println(tmp.getMessage());}public static void func7(MessageDouble tmp) {System.out.println(tmp.getMessage());}public static void func8(MessageBoolean tmp) {System.out.println(tmp.getMessage());} } 用通配符?后,代码变化 class Test1 {public static void func(Message? temp) {System.out.println(temp.getMessage());}public static void main(String[] args) {System.out.println(1.String);MessageString message1 new Message();message1.setMessage(fly in the sky!);func(message1);System.out.println(2.Integer);MessageInteger message2 new Message();message2.setMessage(99);func(message2);System.out.println(3.Character);MessageCharacter message3 new Message();message3.setMessage(s);func(message3);System.out.println(4.Short);MessageShort message4 new Message();message4.setMessage((short) 213);func(message4);System.out.println(5.Long);MessageLong message5 new Message();message5.setMessage(1024L);func(message5);System.out.println(6.Float);MessageFloat message6 new Message();message6.setMessage(3.1415926f);func(message6);System.out.println(7.Double);MessageDouble message7 new Message();message7.setMessage(1024.0213);func(message7);System.out.println(8.Boolean);MessageBoolean message8 new Message();message8.setMessage(true);func(message8);} } 结论 结论:使用通配符?可以接收所有的泛型类型,从而大大减少代码量, 注:虽然通配符 ? 可以接受任意类型,但正因为如此,由于不确定类型,所以在func方法中无法修改操作 在?的基础上又产生了两个子通配符  ? extends 类设置通配符上限   通配符上界 ? super 类设置通配符下限   通配符下界 通配符上界  通配符上界 语法? extends 上界 ? extends String//可以传入的实参类型是String或者String的子类 通配符的上界不能进行写入数据只能进行读取数据 通配符下界 通配符下界                                                                                                              语法? super 下界                            ? super  Integer//代表 可以传入的实参的类型是 Integer或者 Integer的父类类型  通配符的下界不能进行读取数据只能写入数据 class Food { }class Fruit extends Food { }class Apple extends Fruit { }class Banana extends Fruit { } 对通配符上下界的注释理解及其练习代码   class Food {} class Fruit extends Food {} class Apple extends Fruit {} class Banana extends Fruit {} class PlateT {//设置泛型private T message;public T getMessage() {return message;}public void setMessage(T message) {this.message message;} } public class Test2 {public static void main1(String[] args) {PlateApple applePlate new Plate();applePlate.setMessage(new Apple());func1(applePlate);PlateBanana bananaPlate new Plate();bananaPlate.setMessage(new Banana());func1(bananaPlate);}//通配符的上界//通配符的上界不能进行写入数据只能进行读取数据public static void func1(Plate? extends Fruit tmp) {//这里仍然不可以进行修改!tmp接收的是Fruit和他的子类此时存储的元素应该是哪个子类无法确定。System.out.println(tmp.getMessage());Fruit b tmp.getMessage();//向上转型System.out.println(b);}//通配符的下界//通配符的下界不能进行读取数据只能写入数据public static void main(String[] args) {PlateFruit fruitPlate new Plate();fruitPlate.setMessage(new Fruit());func2(fruitPlate);PlateFood foodPlate new Plate();foodPlate.setMessage(new Food());func2(foodPlate);}public static void func2(Plate? super Fruit tmp) {//传入参数为Fruit及其父类 ,//此时可以修改添加的是Fruit 或者Fruit的子类tmp.setMessage(new Apple());tmp.setMessage(new Fruit());//不能接收这里无法确定是哪个父类,父类太多了} }
http://www.w-s-a.com/news/265950/

相关文章:

  • 做网站怎么调整图片间距织梦做的网站如何去掉index
  • 凡科网免费建站步骤及视频网页设计基础教程第二版课后答案
  • 建设一个旅游网站毕业设计企业网站要更新文章吗
  • 做网站需要简介中山网站设计公司
  • 网站怎么做导航栏微信公众号官网登录
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.电子商城网站开发
  • 百度网站怎么建设河北省工程造价信息网官网
  • 阿里云网站模板网页设计的合适尺寸是多少
  • 做小程序和做网站哪个好让别人做网站推广需要多少钱
  • 做外贸的几个网站查询网域名解析
  • 酒泉如何做百度的网站seo研究中心好客站
  • 网站设计建设平台户县做网站
  • 一元云购网站开发wordpress博客空间
  • 深圳高端网站建设公司排名如何搭建局域网服务器
  • 照片管理网站模板高端网站开发哪家好
  • 黄冈网站制作wordpress为什么不能显示域名
  • 做网站设计怎么进企业电子商务网站建设与管理教材
  • 设计广告公司网站建设网站开发技术选择
  • 个人网站教程个人网站有必要备案吗
  • 网站建设推广好做吗黄浦企业网站制作
  • 怎样做28网站代理中山网站建设方案外包
  • vs2010做网站前台搭建小网站
  • 做视频必须知道的一些网站wordpress 标签鼠标滑过_弹出的title 代码美化
  • 怎么做室内设计公司网站电商运营培训视频课程
  • 昆明网站策划天津市建筑信息平台
  • 三亚放心游app官方网站wordpress 个人主题
  • 做简单的网站备案平台新增网站
  • 中国建设网站银行网络营销推广方案整合
  • 网站域名列表dede网站白屏
  • 站长工具一区品牌建设卓有成效