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

上传人:sccc 文档编号:5374385 上传时间:2023-07-01 格式:PPT 页数:23 大小:194.51KB
返回 下载 相关 举报
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成员不能访问非static

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

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

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

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

6、arector 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类为与各种元素类型的动态数组一起工作提供方法。Vector类的构造函数是public Vector()-构造一个空矢量pub

7、lic Vector(int initialCapacity)-构造一个具有具体贮存容量的空矢量public Vector(int initialCapacity,int capacityIncrement)-构造具有具体贮存容量和具体容量增量的空矢量。,Vector类的成员变量,protected int capacityIncrement-增加量。(如为0,每次需要增加时,缓冲区的大小成倍。)protected int elementCount-缓冲区中元素的数量。protected Object elementData-元素被贮存的缓冲区。,Vector常用方法,public final

8、 int size()-返回矢量中元素的数量。public final boolean contains(Object elem)-如果指定对象是集合的值,返回真。public final int indexOf(Object elem)-从起始位置搜索指定的对象,然后将一个索引返回到它当中(如果元素未找到为-1)。它使用对象的equals()方法,因此,如果对象不覆盖Object的equals()方法,它只比较对象引用,不比较对象内容。public void addElement(Object o),在向量末尾处增加一个元素,public finalsynchronized Object e

9、lementAt(int index)-在指定的索引中返回元素。如果 index无效,它抛出ArrayIndexOutOfVoundsException。public final synchronized void setElementAt(int index)-以指定对象在指定索引中替代指定元素。如果 index无效,它抛出ArrayIndexOutOfVoundsException。public final synchronized void removeElementAt(int index)-删除指定索引中的元素。如果 index无效,它抛出ArrayIndexOutOfVoundsE

10、xception。public final synchronized void addElement(Object obj)-附加指定对象作为矢量的最后元素。public final synchronized void insertElementAt(Object obj,int index)-插入指定对象作为指定索引中的一个元素,上移具有同等或更大索引的所有元素。如果index无效,它抛出ArrayIndexOutOfVoundsException。,练习: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备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号