欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    java核心课件2第1章.ppt

    • 资源ID:5577246       资源大小:209.01KB        全文页数:20页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java核心课件2第1章.ppt

    Java2 核心技术,主讲教师:殷黎E_mail:yl_,本书课程安排,第1章 泛型第2章 枚举第3章 集合框架第4章 实用类第5章 网络编程基础第6章 JDBC第7章 JavaBean第8章 Swing第9章 RMI,第1章 泛型,了解泛型相关概念;会创建泛型类和泛型方法;了解通配符和受限泛型;能熟练使用泛型类。,1.1 泛型概述,首先分析、使用1-3页的例子程序;这是一个实现可动态扩展的数组的程序,且能存放任意类型的数据;从使用中可以看到,存放的数据取出来用时,必须强制转化为它的实际类型;这样不能保证程序类型的安全,增加了程序出错的几率,而且带来了麻烦;因此java中引入了“泛型”的概念。,public class ObjectGroup private Object elements;private int size;public ObjectGroup()init();private void init()elements=new Object10;size=0;public void add(Object obj)if(size=elements.length)Object temp=new Objectelements.length*2;System.arraycopy(elements,0,temp,0,elements.length);elements=temp;elementssize=obj;size+;,public void clear()init();public Object getElements()Object temp=new Objectsize;System.arraycopy(elements,0,temp,0,size);return temp;public Object get(int index)return elementsindex;public int getSize()return size;,泛型(Generics)本质上就是提供类型的”类型参数”,它们也被称为参数化类型(parameterized type)或参量多态(parametric polymorphism);也指具有在多种数据类型上皆可操作的含义;声明时用参数化类型代替,使用时指定具体类型;GJ(Generic Java)是对Java语言的一种扩展,用GJ编写的程序看起来和普通Java程序基本相同,只不过多了一些参数化的类型同时少了一些类型转换;实际上,编译时这些GJ程序也是首先被转化成一般的不带泛型的Java程序后再进行处理的;泛型的特点:类型安全、向后兼容、层次清晰、性能收益,1.2 泛型类,泛型类就是具有一个或多个类型参数的类;1-4页代码中尖括号中的内容就代表类型参数,多个类型参数用“,”隔开;类型参数就跟在方法中普通的参数一样。就像一个方法有“形参”来描述它操作的参数的种类,一个泛型也有“形式类型参数”;当一个方法被调用,“实参”替换“形参”,方法被执行;当一个泛型声明被调用,“实际类型参数”取代“形式类型参数”;类型参数通常用单个大写字母命名;一般:E表示集合的元素类型,T表示任意类型,K,V表示表的键和值;类型参数一定是类类型;,public class GenericGroup private E elements;private int size;public GenericGroup()init();private void init()elements=(E)new Object10;size=0;public void add(E obj)if(size=elements.length)E temp=(E)new Objectelements.length*2;System.arraycopy(elements,0,temp,0,elements.length);elements=temp;elementssize=obj;size+;,public void clear()init();public Object getElements()E temp=(E)new Objectsize;System.arraycopy(elements,0,temp,0,size);return temp;public E get(int index)return elementsindex;public int getSize()return size;,1.2.1 泛型类的使用,声明:class 类名/类体 使用:类名 变量名=new 类名();,1.2.2 泛型类的局限,类型参数不能实例化:new E();/error不能实例化类型参数的数组:E arrE=new E10;/error类的静态变量不能声明为类型参数类型:public static E name;/error泛型类不能继承自Throwable以及其子类:public class Problem extends Exeption/error,1.2.3 泛型与子类继承,例:GenericGroup gi=new GenericGroup();GenericGroup gn=new GenericGroup();gn=gi;/errorGenericGroup和GenericGroup 的数据类型都是GenericGroup,因此它们之间没有任何关系,Number和Integer的继承关系,对于它们不适用;这一点对于类型安全来讲是必要的;但可以向gn中添加Integer类型的数据:gn.add(18),1.3 泛型接口,与泛型类差不多,只是将关键字class改为interface即可。public interface Comp int compTo(T a);实际实现时,将类型参数传入实际类型即可:class Person implements Comp,1.5 受限泛型,当类型参数约束在某一范围内时,可以使用受限泛型;class GenericGroup;受限泛型用关键字extends,即便限定类型是接口也用extends;有多个限定类型时,其中最多只能有一个类类型,且放在第一个,多个之间用&隔开;class GenericGroup;上例中传入的实际类型参数必须是Number的子类,且实现了接口Comparable和Serializable。实例化时,实际类型参数应在范围中,定义一个showName方法,使其接受GenericGroup类型的实参;public static void showName(GenericGroup group)for(int i=0;i,不能传GenericGroup;修改上面的方法,将上限通配符运用到形参中,使其可以传入GenericGroup。,1.6 上限通配符,public static void showName(GenericGroup group)for(int i=0;iGroup.getSize();i+)System.out.println(group.get(i).getName();,修改1.2.3节中的程序:GenericGroup gi=new GenericGroup();GenericGroup gn=new GenericGroup();gn=gi;注意:此时,gn.add(new Integer(2),是错误的用法;因为“?extends Number”是上限通配符,表示一个未知的任何Number的子类;,1.7 泛型方法,类型声明也可以用来声明泛型方法,而且这种泛型方法还可以用在非泛型类中。泛型方法允许类型参数被用来表示方法的一个或多个参数之间的依赖关系,或者参数与其返回值的依赖关系。下面我们定义一个静态方法,返回GenericGrooup集合中的最大值:public static E max(GenericGroup group)从方法的声明可以看出:泛型方法的类型参数位于方法的返回类型前,并用括起来。可以看出,只要是实现了Comp的类型,都可以用于此方法。泛型方法可以位于非泛型类中,public static A max(GenericGroup group)A max=group.get(0);for(int i=1;i0)max=group.get(i);return max;,

    注意事项

    本文(java核心课件2第1章.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开