Java语言培训03Java语言高级特征.ppt

上传人:本田雅阁 文档编号:3481906 上传时间:2019-09-01 格式:PPT 页数:23 大小:194.52KB
返回 下载 相关 举报
Java语言培训03Java语言高级特征.ppt_第1页
第1页 / 共23页
Java语言培训03Java语言高级特征.ppt_第2页
第2页 / 共23页
Java语言培训03Java语言高级特征.ppt_第3页
第3页 / 共23页
Java语言培训03Java语言高级特征.ppt_第4页
第4页 / 共23页
Java语言培训03Java语言高级特征.ppt_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《Java语言培训03Java语言高级特征.ppt》由会员分享,可在线阅读,更多相关《Java语言培训03Java语言高级特征.ppt(23页珍藏版)》请在三一文库上搜索。

1、第五章 Java语言高级特征,周甫 Email:,目标,描述static变量,方法和初始程序 描述final类,方法和变量 列出访问控制级别 描述如何应用收集和反射 在Java软件程序中,确认 static方法和变量 public,private,protected和缺省变量 使用abstract类和方法 解释如何以及何时使用内部类 解释如何以及何时使用接口 描述=和equals()之间的不同,类(static)变量,在所有类的实例中共享 可以被标记为public或private 通过类名访问,类(static)方法,static方法可以用类名而不是对象来访问 没有this值 static成员

2、不能访问非static成员 静态方法不能被覆盖成非静态。,静态初始化,在static block中,类可以包含方法程序中不存在的代码。 当类被装载时,静态代码块只执行一次。 类中不同的静态块按它们在类中出现的顺序被执行。,关键字final,final类不能被继承 final方法不能被覆盖 final变量是常数,抽象类,声明方法的存在而不去实现它的类被叫做抽象类 。 通过关键字abstract进行标记将类声明为抽象 。 一个abstract类可以包含非抽象方法和变量 。 不能创建abstract类的实例。 可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。 不能有抽象构造函数或

3、抽象静态方法。,练习:求最大数,练习一:编写一个类,提供一个求最大数的方法 练习二:编写2个类,其中: 一个类为抽象类(Max),类中有2个方法,一个为抽象方法,求2个整数的最大数,另外一个为已实现的方法求浮点数的最大数 另一个类为抽象类的子类(MaxInt),实现抽象方法 最后做一个执行类(HandleMax),分别执行抽象类的2个方法,接 口,接口是特殊的抽象类 。 在接口中,所有方法都是抽象的。 多继承性可通过实现这样的接口而获得。 接口中的变量就是常量。,练习:求圆面积,编写一个接口类(Circle),定义一个final的常量PI,并初始化为3.14,和一个计算圆面积的抽象方法getA

4、rea(),这个方法有一个double类型的参数,传入半径; 编写一个类(MyCircle)实现接口Circle. 在执行类(HandleCircle)中计算出半径为5.0d的圆面积并打印. 圆面积 = 半径 * 半径 * PI,高级访问控制,四种访问修饰符:public、protected、(default)、private 变量和方法可以是四个访问级别中的一个 类可以在public或default级别。,访问性标准,修饰符 同类 同包 子类 通用性 - 公共 是 是 是 是 受保护 是 是 是 缺省 是 是 私有 是,=运算符与equals()方法,用于简单类型进行等值判断。 用于引用类型

5、表示是否指向同一对象 equals()方法用表示两个对象的值是否相等,toString()方法,用来将一个对象转换成String表示 Object类定义缺省的toString()方法,它返回类名称和它的引用的地址,内部类,一个类定义被放到另一个类定义里叫内部类。 内部类,又叫嵌套类 。 内部类可访问它们所嵌套的类的成员。 内部类的名称必须与所嵌套的类不同。 只有内部类可以被声明为private或protected,以便防护它们不受来自外部类的访问。 内部类不能声明任何static成员。,包装类,用来将基本数据元素看作对象 每个Java基本数据类型在Java.lang包中都有一个相应的wrapp

6、er class: 基本数据类型 包装类 boolean Boolean byte Byte char Charector short Short int Integer long Long float Float double Double,Java集合类API,集合API分以下接口: Collection:元素没有顺序,允许重复 Set:元素没有顺序,不允许重复 List:元素有顺序,允许重复 Map:Key-Value对 Vector,Bits,Stack,Hashtable,LinkedList, HashSet, ArraySet, ArrayList等,Vector类,Vector

7、类为与各种元素类型的动态数组一起工作提供方法。 Vector类的构造函数是 public Vector()-构造一个空矢量 public Vector(int initialCapacity)-构造一个具有具体贮存容量的空矢量 public Vector(int initialCapacity,int capacityIncrement)-构造具有具体贮存容量和具体容量增量的空矢量。,Vector类的成员变量,protected int capacityIncrement -增加量。(如为0,每次需要增加时,缓冲区的大小成倍。) protected int elementCount -缓冲区中

8、元素的数量。 protected Object elementData-元素被贮存的缓冲区。,Vector常用方法,public final int size()-返回矢量中元素的数量。 public final boolean contains(Object elem)-如果指定对象是集合的值,返回真。 public final int indexOf (Object elem)-从起始位置搜索指定的对象,然后将一个索引返回到它当中(如果元素未找到为-1)。它使用对象的equals()方法,因此,如果对象不覆盖Object的equals()方法,它只比较对象引用,不比较对象内容。 publi

9、c void addElement(Object o),在向量末尾处增加一个元素,public finalsynchronized Object elementAt (int index)-在指定的索引中返回元素。如果 index无效,它抛出ArrayIndexOutOfVoundsException。 public final synchronized void setElementAt (int index)-以指定对象在指定索引中替代指定元素。如果 index无效,它抛出ArrayIndexOutOfVoundsException。 public final synchronized v

10、oid removeElementAt (int index)-删除指定索引中的元素。如果 index无效,它抛出ArrayIndexOutOfVoundsException。 public final synchronized void addElement (Object obj)-附加指定对象作为矢量的最后元素。 public final synchronized void insertElementAt (Object obj,int index)-插入指定对象作为指定索引中的一个元素,上移具有同等或更大索引的所有元素。如果index无效,它抛出ArrayIndexOutOfVound

11、sException。,练习:Vector的用法,练习一:建立一个User类,包含(age,name)2个私有属性及访问(set/get)方法,实例化3个User对象,并将这3个对象存入到一个Vector中,最后将这Vector打印出来. 练习二:在练习一的基础上,修改Handle类,在下标2处插入一个元素(add(index,o)方法),然后将下标为0的元素删除 练习三:用List代替Vector完成练习一,作业,作业一:编写一个抽象类,要求子类实现在3个整数中求最大值的抽象方法 public int max(int a, int b, int c) int temp = a; if(b a) temp = b; if(c temp) temp = c; return temp; ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1