- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章接口和一些关键字.ppt
第5章:接口和一些关键字 5.1 super关键字 前面已经讲过,子类中成员变量和父类中的成员变量同名时,父类中的成员变量不能被继承,此时称子类的成员变量隐藏了父类的成员变量。 同样,子类中方法的名字、返回类型、参数个数和类型与父类中方法相同时,父类的该方法被隐藏,不能被子类继承。 如果在子类中要使用被隐藏的父类的成员变量和方法时,使用关键字super 5.1.1 使用super调用父类被隐藏的变量和方法 5.1.2 使用super调用父类的构造方法 子类如果想用父类的构造方法,必须在子类的构造方法中使用,而且使用super关键字,且super必须是子类构造方法中的头一条语句。 例子5.5 Unistudent和Student类 Super()要和父类的构造方法相同,即参数个数和类型相同。 使用super调用父类的构造方法 使用super调用父类的构造方法 如果在子类的构造方法中,没有使用super关键字调用父类的某个构造方法,则默认地有:super();即调用父类的不带参数的构造方法。 如果父类没有提供不带参数的构造方法,则会报错。 使用super调用父类的构造方法 5.2 final关键字 如果某个类在定义时,前面有修饰词final,则该类不能被继承。例如:final class A{}A类就不可能有子类。 如果某个属性或者方法在定义时,前面有修饰词final,则该方法不能被重写;该属性值不能被更改,即此时该属性为常量。 主要是出于安全性的考虑。 5.3 接口5. 3.1 接口定义 Java不支持多继承性,也就是说一个类只能继承一个父类。单继承性使得Java简单,易于管理。但是一个类可以实现多个接口。 接口用interface来定义。定义方式类似于类,也是分为接口声明和接口体。 interface MyInterf{ 属性; 方法;} 接口的定义和使用 和类不同之处在于接口中的方法没有具体实现,用“;”结尾即可。 例如:interface MyInterf{ final int MAX=100; void add(); float average(int a, int b); } 接口的定义和使用 类使用接口时用“implements” public class Dog implements Runner {……} 如果使用多个接口时,用,隔开: public class Dog implements Runner,Swimmer{……} 类Dog实现接口Runner和接口Swimmer 接口的定义和使用 如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法。 接口中的方法都是默认“public”的,所以类在实现接口方法时,都要用public来修饰。 例如:Example5.7 接口的定义和使用 在类中实现接口的方法时,方法的名字、返回类型、参数个数及类型必须与接口中的完全一致。 如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是abstract的。 5.4 异常处理 软件在开发和使用中存在问题是不可避免的,人们遇到错误时会很不愉快,我们至少应该做到两点: 通知用户出现的错误和问题; 让这些错误和问题尽量影响小一些,比如保存好用户的数据不至于丢失;使系统不中断运行等。 5.4.1 异常类型及结构 5.4.2 try-catch语句 try{ 包含可能发生异常的语句 } catch(某种异常类 对象){ 处理异常的语句 } 各个catch方法的参数都是Exception类的子类。catch方法可以有一个或者多个。 例5.8 5.4.3 finally语句 当一个异常被抛出时,程序的执行就不再是连续的了,会跳过某些语句,甚至会由于没有与之匹配的catch语句而过早地返回。有时要确保一段代码必须被执行,不管是否发生异常情况,那这部分代码该怎样处理呢?使用关键字finally。 5.4.4 throw语句 在给程序加入异常处理时,我们也可以自己写一个throw语句来抛出异常,throw后面要抛出的异常因该指明类型。 例子5.11 5.4.5 throws语句 throws语句和throw语句不同,throws语句用于自己不想处理异常,而是调用它的方法去处理异常的情况,写在方法名的后面。 例子5.12: * *
文档评论(0)