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

    JAVA期末考前复习要点优质ppt课件.ppt

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

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

    JAVA期末考前复习要点优质ppt课件.ppt

    面向对象的程序设计,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,2,2017考试题型,判断题(2分*10个,共计20分)不定项选择题(2分*15个,共计30分)程序阅读题(5分*5个,共计25分)编程题(3个答题,合计25分)重点在于复习课上指出的有关例题,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,3,考核范围,以课堂PPT为蓝本,以郎波老师的教材为基础。不考或少考:数据库不考内容:Applet、JSP、JS,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,4,主要考核知识点,第一部分消息:定义、情况及构成Java可以跨平台的原因:JVMApplication程序创建过程:编译 javac.exe解释执行 java.exe聚合、关联,以及两者之间的关系。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,5,主要考核知识点,第三部分 1标识符定义规则数据类型之间的互相转换:自动转换强制转换数组类型、长度、内容和地址之间的关系数组的初始化,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,6,主要考核知识点,第三部分 2局部变量和类成员变量的初始化常见数据类型基本数据类型:复合数据类型:类类型、String、数组常量逻辑型整型、浮点型字符型:转义字符,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,7,数据类型的级别与类型转换运算,Java中数据的基本类型(不包括逻辑类型)按精度从“低”到“高”排列:byte short char int long float double,当把级别低的变量的值赋给级别高的变量时,系统自动完成数据类型的转换。例如: float x=100;,当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算。显示转换的格式:(类型名)要转换的值; 例如 int x=(int)34.89;,当把一个int型常量赋值给一个byte和short型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算;例如: byte a=(byte)128; / byte取值范围为:-128 +127 (即,-2727-1),上海财经大学 - 面向对象程序设计 - 面向对象程序设计,8,整型变量可自动转化为浮点型,这个转化可能会导致损失精度(浮点型有特定的精度)虽然long是8字节,float是4字节,但仍然可以将long自动转化为float。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,9,boolean不能和其他类型转换,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,10,引用类型变量,引用类型变量存储的是其对应对象的地址,而不是该对象的值。在Java中,除基本类型以外的变量均为引用类型变量用户自己定义的类的变量都是引用类型变量。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,11,数组,数组中的元素都是同一种类型。数组的长度在创建(不是在声明时指定)的时候确定,并且在创建后固定不变。,数组的声明int a ; Date d;,数组的创建使用new创建:a = new int 10;使用初始值创建:String a = aa, bb;,数组变量是引用型:存储的是数组内容所在内存空间的地址。数组元素索引从0开始: String a = aa, bb a0 = aa, a1 = bb,参考书本p.5960,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,12,数组,关于数组声明表示数组的 在数组变量之后/C、C+和Java通用的标准格式,int a; Date d;,参考书本p.5960,表示数组的 在数组类型之后表示数组标志之后出现的所有变量都将是数组变量/Java特有的格式,int a ; char s, m, n; /声明了3个字符型数组变量s、m和n。,声明不创建数据空间,仅仅分配一个引用空间。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,13,数组,关于数组声明,参考书本p.5960,声明二维数组有下列两种格式:数组的元素类型 数组名;数组的元素类型 数组名; 例如:float a;Char b;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,14,数组的初始化,使用初始值直接初始化 int a = 1, 2, 3, 4, 5 ; Date d = new Date(), new Date(), new Date();先声明后初始化 int a ; a = new int 10 ; Date d ; d = new Date 3;在声明的同时初始化int a = new int 10 ; Date d = new Date 3;,数组的长度在创建时就固定了。如果要在Java中建立长度可以动态变化的数组,可以使用List类。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,15,String类,String类在java.lang包中,Java把String类声明为final类,因此不能扩展String类。即String类不可以有子类。,由于java.lang包中的类被默认引入,因此程序可直接使用String类。,注意,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,16,构造字符串对象,1字符串常量对象:用西文字符双引号括起的字符序列。,2字符串对象 声明:String s; 创建字符串对象:s = new String(we are students);,例如:你好、12.97、boy等。,String类较常用构造方法:,String(s), String (char a),String(char a, int startIndex , int count),startIndex和count分别指定提取字符的起始位置以及从该位置开始截取的字符个数。,例如:char a = J, a, v, a; String s = new String(a); 例如:char a = 零,壹,贰,叁,肆,伍,陆,柒,捌,玖; String s = new String(a,2,4);,相当于:,String s = new String(贰叁肆伍);,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,17,构造字符串对象,3引用字符串常量对象 String s1,s2; s1 = how are you; s2 = how are you;,s1,s2具有相同的引用,故具有相同的实体。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,18,String 类的常用方法,1public int length():获取一个字符串的长度,2public boolean equals(String s):,比较当前字符串对象实体的值是否与参数s指定的字符串实体的值相同,如果:,那么:,tom.equals(boy)的值为false,tom.equals(jerry)的值为ture。,但是:,tom= =jerry的值为false。(判断是否有相同的引用),因为字符串对象tom、jerry具有相同的引用值,但引用的字符串对象不同。,tom,0 x54C78,天道酬勤,boy,0 xBc66,知心朋友,jerry,0 xAb98,天道酬勤,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,19,String 类的常用方法,例题8_1 说明了equals的用法。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,20,主要考核知识点,第三部分 3流程控制顺序:按语句书写的先后顺序执行分支:在若干路径中有条件地择一执行循环:当某条件成立时,反复执行一段代码,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,21,分支(选择)语句,if语句if(条件表达式)语句组;if(条件表达式)语句组1;else 语句组2;语句组:用大括号括起的语句集合else与最近的if配合,用来消除二义性,if 条件A if 条件B 语句组1 /A&B else 语句组 2 /A&(!B) ,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,22,分支(选择)语句(续),嵌套的if-else-ifif (expression) statement;else if (expression) statement;else if (expression).else statement;,if (expression) statement;elseif (expression) statement; else if (expression). else statement;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,23,嵌套if-else-if 示例,例:绩点计算,ji_dian=2.0,运算结果:,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,24,for循环语句,for循环语句的语法格式: for (表达式1; 表达式2; 表达式3) 若干语句 for语句的执行规则是: (1)计算“表达式1”,完成必要的初始化工作。 (2)判断“表达式2”的值,若“表达式2”的值为true,则进行(3),否则进行(4)。 (3)执行循环体,然后计算“表达式3”,以便改变循环条件,进行(2)。 (4)结束for语句的执行。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,25,Java的循环语句:for(续),for (j=0;j10;j+)循环体语句组;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,26,算术运算符,二元算术(双目)运算符:+,/,%“+”可连接字符串 “He”+“llo”为“Hello ”整型、浮点进行混合运算时,不同类型的数据首先转换为同一类型,然后进行运算,低级数据类型自动转化为高级数据类型。注:全是byte或short型操作数,结果也是int型;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,27,+/-,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,28,运算符,扩展赋值运算符二元运算符:=,a=b即a=ab(为+,-,*,/,%)a+=b a = a + b;运算符的优先级一般原则:算术运算符关系运算符逻辑运算符括号最优先,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,29,主要考核知识点,第三部分4 面向对象编程基础,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,30,Java中的OOP,回顾几个概念类:抽象的集合概念 系统类库中已定义好的类用户自定义的类对象(实例,instance):实际个体创建某个类的具体对象(类似变量声明)类名 欲创建的对象名 new 类名( 参数表 ) ;例如:String s = new String( “Hello!” ) ; Date d = new Date(2007,07,30);继承、子类、父类子类是父类的特例,继承了父类的变量和方法;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,31,完整程序,一个java文件最多只有一个public类,这个类称为 主类,与java文件名相同。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,32,Java中类的声明,类修饰符(Modifier)public :允许其他类(没有限制)访问本类缺省:可被当前包中的其他类访问abstract :没有实例的抽象类,只能创建其子类的实例。目的:使类的结构清晰,实现多态。final:不能再被扩展,不包含子类的类;易于安全性的实现,或用于创建固定功能的类;父类继承声明:extends 父类名实现接口(interface):implements 接口,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,33,成员变量的声明,声明成员变量member的语法成员变量:在类体中声明,但不属于任何一个方法。修饰符 数据类型 变量名;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,34,修饰符:访问控制符,成员变量的访问控制符public:可被所有其他类访问protected:该类自身、子类、同一包中的其他类缺省:可被本包中的类访问private:仅可被该类自身访问和修改,不能被其他任何类(包括子类)访问,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,35,修饰符(续),static:类成员变量(静态变量)对所有的实例一致引用时前缀可使用类名或对象名final:程序中不能修改其值即常量,定义的同时应对其进行初始化,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,36,成员变量的声明示例,class Circleprivate float radius;protected float area;static float maxArea100.0f;final float PI=3.1415926f; . ,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,37,方法的定义,方法的作用定义对类的成员变量(数据)的操作方法的定义语法: 修饰符 返回类型 方法名(参数列表) throws 异常名 方法体; 声明内容方法的性质、接受哪些参数、返回什么信息,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,38,方法的声明,修饰符访问控制符public, protected, 缺省, privatestatic:静态方法,又称类方法。使用类名或对象名作为前缀,建议使用类名作前缀在static型的方法体中,只能访问static变量和自身局部变量优点:不必对类实例化操作就能被其他类使用该方法。可开发通用工具,如数学计算: Math.sqrt( )abstract:只有方法名,没有方法体。要在子类中通过重新定义(override)来实现final:不能被子类所重新定义(override),上海财经大学 - 面向对象程序设计 - 面向对象程序设计,39,方法的声明(续),返回类型:方法内return语句返回值的类型 、 void(无返回值) 参数列表:参数类型可为基本类型或引用类型throws:通告本方法中会产生的例外(异常)类型提醒调用者要对相应的可能例外进行处理。当执行此方法并发生了例外时,程序会转入调用者编制的例外处理程序段。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,40,例外触发示例,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,41,方法体,在方法体中定义的变量称为局部变量。生命周期:程序流执行进入方法体时创建,程序流退出方法时撤消。局部变量使用之前必须初始化。局部变量名若与类的成员变量名相同,则成员变量被隐藏。可用this显示相应的成员变量。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,42,方法体(续),在方法体中可访问本类所有的类变量,并可调用本类中定义的非静态方法。static方法只能直接调用本类的static方法和static变量。,static方法无法引用非static的成员变量num,static方法可以用类名直接调用,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,43,方法的参数,方法的参数要“有名有型”参数的作用域在本方法中可像方法内的局部变量一样使用。方法调用中,基本类型参数是值传送;引用类型参数是地址传送。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,44,值传送与地址传送,方法定义:void method1(int A)void method2(String C),方法调用:instance.method1(B)instance.method2(D),A,C是形参,B,D是实参,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,45,构造方法,构造方法与类同名,且不声明返回类型。在创建每个新对象时自动执行以保证新对象的各成员都有合法、确定的初值。,Java试图在每个对象一诞生时,就给它一个指定的状态(即成员变量的初值),但有时系统的缺省初值并不合适;所以在创建一个新对象时,需用构造方法完成合法的初始化,使成员变量的初始化工作不依赖于外界(系统)完成。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,46,构造方法的特点,构造方法与成员方法不同,不能被直接调用。必须通过new调用; 创建对象时,利用运算符 new 在内存中开辟专用空间,存放指定的类的实例(即对象),这时会自动执行类的构造方法,初始化新对象的成员变量. 例:Date d = new Date (22, 5, 2003);,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,47,构造方法的缺省,每一个类至少有一个构造方法。(可以有多个,重载)当未定义任何构造方法时,系统在编译时,会提供一个缺省(默认)构造方法无参数,方法体中没有内容缺省构造方法的初始化数据初值:,数值型:0; 布尔型:false; 引用型:null; 字符串型:null;,一旦程序员定义了构造方法,缺省(默认)构造方法自动失效!,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,48,缺省构造方法示例,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,49,自定义构造方法示例1,构造方法与类同名且不声明返回类型,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,50,自定义构造方法示例2,构造方法与类同名且不声明返回类型,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,51,以“this” 调用构造方法,this (参数列表) 表示调用本类的构造方法 在一个构造方法中,当使用this 并给它一个参数列表时,this显式调用参数匹配的另一个构造方法。使用this调用本类的其他构造方法时,this应是第一个可执行语句,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,52,类的继承:Extends 关键字,Java中用 extends 关键字定义子类。,public class Employee protected String name; protected int grade; protected int salary;,子类是从已有的类创建新类的一种方法。,public class Manager extends Employee int bonus;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,53,类的继承,创建类时指明它为某类的子类extends 父类名 子类将继承protected和public的所有父类成员(可直接访问)private:不能被继承缺省:除非子类和父类在同一个包,否则也不能继承Java是单继承,不支持多继承extends后的类名只能有一个可通过接口间接实现多继承,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,54,类的继承:扩展,子类对父类可做扩展和特殊化。子类继承父类的属性、功能(方法)子类中只需声明特有的东西。创建新的成员:属性和方法 重新定义父类中已有的属性 :父类属性被隐藏重新定义父类中已有的方法 :重写(override) 子类中的方法应与父类中的被重写的方法有完全相同的参数列表、返回值 。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,55,类的继承示例,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,56,方法重写规则,方法的访问权限不能缩小。,高,低,访问权限,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,57,方法重写规则,可扩大访问权限,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,58,类的继承:上溯造型,子类对象可自动转换成父类对象,即,父类变量可以指向子类对象,称为上溯造型(upcast),系统自动完成。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,59,父类变量执行子类方法,父类变量指向子类对象,但如果要使用子类特有的方法,需要强制转换为子类。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,60,父类变量执行子类重写方法,如果父类变量指向子类对象,执行某个父类定义但被子类重写的方法,实际执行的代码是子类的相应方法。,运行时多态:在运行时根据对象的具体情况来决定调用的方法是父类的还是子类的。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,61,回顾方法重载(与重写对比),方法重载:同类中的同名方法参数必须不同形参的个数、类型、顺序的不同返回值、修饰符可以相同,可以不同,要打印不同类型的数据,如int, float, String等(通过不同参数区分)void print (int i);void print (float f);void print (String s);,编译时多态:由编译器在编译时根据参数的区别,来调用绑定方法体。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,62,方法重写 vs 方法重载,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,63,注意1:属性无运行时多态!,子类重新定义父类属性后,父类属性被隐藏,子类对象无法直接访问父类属性。如果把子类对象赋值给父类变量(上溯造型),再访问该属性,则将访问到父类属性。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,64,注意2:static、final、private方法无运行时多态!,静态联编(早联编): Static Binding (Early Binding)Java对static、final、private方法的调用,是在运行前将方法调用和方法体连接到一起不存在运行时多态动态联编(晚联编): Dynamic Binding (Late Binding)对非static、final、private方法的调用,是在运行时才将方法调用和方法体连接到一起实现运行时多态的机理,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,65,上溯造型总结,上溯造型中:同名方法,若子类重写,则调用子类自己的,是运行时多态:利用动态联编实现。注意:static、final、private方法,利用静态联编实现,故不存在运行时多态。同名属性是调用父类的。一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量不能再访问子类中添加的子类独有的属性和方法。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,66,课堂练习,);,5sub,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,67,课堂练习1,判断下列哪些语句是合法的:b.f( );a.j = 5; a.g( );b.i = 3;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,68,课堂练习2,执行结果?,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,69,课堂练习4,执行结果?,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,70,final关键字,被定义成final的类不能有子类。,final变量不在声明时初始化会报错,final变量不能改变,被定义成final 的成员方法不能被重写。被定义成final的成员变量不能改变。该变量实际上是常量,一般大写,并必须在声明时初始化。final int NUMBER = 100;,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,71,static关键词,在一些编程场景中,某些成员应该属于一个类,即被所有该类的对象共享。例:一个类希望通过一个成员属性记录程序中共生成多少个它的对象关键词static可用于定义类成员(类属性、类方法),也叫做静态成员(静态属性、静态方法)不用static修饰的成员被称为实例成员(实例属性、实例方法)类属性和类方法可直接通过类名访问虽然也可以通过该类的对象访问,但属于不良的编程习惯,不推荐。实例属性和实例方法必须通过该类的对象才可访问,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,72,static方法使用注意点,static方法中不能直接访问本类的实例属性,只能访问static属性、方法参数及局部变量static方法中不能直接访问本类的实例方法,只能访问本类的static方法如果要访问实例属性或实例方法,可在static方法中先创建本类的对象,再使用该对象的实例属性或实例方法static方法中不能访问this引用,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,73,抽象类,抽象方法:只声明方法而没有方法的实现(方法体)在方法声明中,在紧接着类访问限定词之后增加关键字abstract 。抽象类:在类声明中,在紧接着类访问限定词之后增加 关键字abstract。在无方法体的方法(抽象方法)前也要加上abstract。,ublic abstract class Drawing /抽象类public abstract void drawDot( int x, int y);/抽象方法public void drawLine(int x1, int y1, int x2, int y2) /非抽象方法 ,一个abstract 类可以包含有非抽象方法和变量,但至少包含一个抽象方法。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,74,抽象类,抽象类不能直接用来生成实例。一般通过定义子类进行实例化可以声明抽象类的变量该变量可指向一个子类的实例。,abstract class Employeeabstract void raiseSalary(int i) ;class Manager extends Employee /抽象类的子类void raiseSalary(int i ) ./实现抽象方法,Employee e = new Manager( ) ; /指向子类实例,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,75,接口(Interface/Protocol),可看作“特殊的抽象类”一个接口定义了一组对外的公共接口(一系列操作的组合)只包含操作签名Signature(即操作名、参数类型、返回值类型)不包含操作的具体实现,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,76,接口(Interface/Protocol),接口的方法需要类进行实现(implements),上海财经大学 - 面向对象程序设计 - 面向对象程序设计,77,Java中的接口(Interface),1) Java允许定义public static final的常量(修饰符只能写public,static,或final,但无论怎么写,都不会影响该变量是public static final)2) interface的方法,默认为public abstract(类在实现接口时,必须将实现的接口方法声明为public),A,B,C,D都是TInterface的public static final变量思考:怎样写程序验证A,B,C,D都是public static final?,其他类实现接口的method方法时必须声明public,否则报错,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,78,一个类可实现多个接口,类可以实现(implements)多个接口,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,79,接口之间的继承,接口可以继承(extends)接口假设接口B继承接口A类C实现接口B,则需实现接口A和B中定义的所有抽象方法。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,80,子接口可继承多个父接口,注意:一个子接口可以继承(extends)多个父接口接口C继承接口A和B类D实现接口C,则需要实现A,B和C中所有的抽象方法,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,81,interface 要注意的问题,尽量不向interface定义中随意增加方法。直接在接口中增加方法,会带来所有实现该接口的类的维护问题。推荐:定义新接口,继承原接口来增加方法,ublic interface shape void draw( ); void erase( ); double area( ); /直接在接口中增加方法,会带来所有该接口的子类的维护问题,ublic interface ShapeWithArea extends Shape /通过子接口来新增方法 double area( ); ,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,82,interface:多态性,可声明interface的变量,指向具体实现该interface的类的实例,并实现多态性。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,83,接口实现配合类继承:多继承,这是示意图,考试不必画,这里用来帮助大家理解的。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,84,Java中接口与抽象类的比较,接口中的所有方法都是抽象的,而抽象类可以定义有方法体的不同方法。一个类可以实现多个接口,但是只能继承一个父类。继承父类和实现接口相组合,可实现多继承。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,85,上机练习,创建一个接口,接口名Function,具有一个方法evaluate,参数为一个int型变量,返回值为int。创建一个类,类名Half,实现Function接口的evaluate方法:将传入的参数除以2返回。创建一个类,类名TwoTimes,实现Function接口的evaluate方法:将传入的参数乘以2返回。再新建一个类,在类中实现一个方法,该方法的参数列表为一个int型数组和一个Function类型对象,功能为利用Function对象的evaluate操作对数组的每个元素进行改变,最后返回改变后的int型数组。利用上述方法,以及Half和TwoTimes类,对一个数组的所有元素进行除以2或者乘以2的操作。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,86,主要考核知识点,第四部分 Java类库-异常,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,87,异常分类,Error很难恢复的严重错误。一般属于系统内部错误,不由程序处理。发生时,由用户按照系统提示关闭程序。Exception由程序本身或环境产生的错误,可通过异常处理来进行有效控制。Runtime Exception: 程序设计或实现上的问题,如数组越界等。其他Exception:通常是由环境因素引起的,并且可以被处理的。如文件不存在,无效URL等。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,88,常用方法:String getMessage():返回详细信息String toString():返回包括异常类名以及getMessage()信息的描述void printStackTrace():打印出异常发生的路径(精确到第几行)即,引起异常的方法调用的序列。这些均继承自Throwable类,Exception类的常用方法,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,89,异常处理,良好的程序应预见并处理可能发生的各种异常 Java 中的异常处理方法:捕获并处理异常(由发生异常的方法自行处理)将方法中产生的异常抛出(在其他程序调用该方法时进行处理),上海财经大学 - 面向对象程序设计 - 面向对象程序设计,90,异常处理:捕获与处理异常,try 语句块catch 语句块finally 语句块,try语句后必须跟随至少一个catch或者finally语句块,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,91,try/catch/finally一般形式,try语句块:包含可能产生异常的java语句catch语句块:提供发生异常时的处理方法finally语句块:无论是否发生异常,均会执行,try java statements; ,catch (SomeThrowableClass variableName) java statements;,一条或多条可能产生异常的java语句,finally java statements; ,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,92,catch处理多个异常,可写多个catch语句块捕获不同种类的异常当抛出一个异常时,依次匹配各个catch语句内捕获的异常类型,执行第一个类型匹配的catch语句,其他catch语句不再执行。匹配规则:抛出对象与catch参数的类型相同或是参数类的子类,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,93,catch处理多个异常示例,除0,数组访问越界,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,94,finally语句块,无论是否发生异常都要执行finally语句块执行完后,继续执行程序的后续代码。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,95,异常处理:抛出异常,在方法声明中说明可能产生的异常,但该方法本身将不处理该异常,而将它抛到调用该方法的程序中去。,class A public static void troublesome( ) throws SomeException .,抛出异常,Class B tryA. troublesome( ); catch(SomeException e) ,调用抛出异常的方法时,用try/catch捕获,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,96,方法声明中throws后的Exception类可配合方法体内throw语句抛出异常类对象。,throw语句抛出异常类对象,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,97,throw语句抛出异常类对象,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,98,自定义异常,继承Throwable或者它的子类(如Exception)自定义异常,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,99,自定义异常,完整的异常类类名,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,100,课堂练习1,程序输出?,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,101,课堂练习2,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,102,课堂练习3,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,103,主要考核知识点,第四部分 Java类库-线程,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,104,进程 VS 线程,当程序进入到内存运行时,即变成了一个进程。处于运行过程中的程序。具有一定的独立功能系统进行资源分配和调度的一个独立单位。具有独立性、动态性和并发性。线程可使得同一个进程可以同时并发处理多个任务。也被称为轻量级进程是进程的执行单元,是进程的组成部分。一个进程可以拥有多个线程,一个线程必须拥有一个父进程。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,105,进程 VS 线程,一个程序运行后至少有一个进程,一个进程可以包含多个线程,但至少有一个线程。,操作系统可以同时执行多个任务,每个任务就是进程;进程可以同时执行多个任务,每个任务就是线程。,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,106,线程的创建,两种方式,均需要编写run()方法实现Runnable接口继承Thread类推荐使用Runnable接口的方式,便于继承其他类。,实现Runnable接口,继承Thread类,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,107,主要考核知识点,第四部分 4.4 Java类库-输入输出,上海财经大学 - 面向对象程序设计 - 面向对象程序设计,108,缓存流,Buffer

    注意事项

    本文(JAVA期末考前复习要点优质ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开