- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JSP实用简明教程课件-(java)
方法覆盖(或方法重写) 方法覆盖(Method Override)是指子类对父类中相同方法头的方法重新定义,又称为方法重写。这时子类和父类具有方法头(包括修饰符、方法名、参数表和返回值类型)相同,但方法体不同的同名方法 调用重写方法的原则是: 对子类的一个实例,若子类重写了父类的方法,则运行时系统调用子类的方法; ②对子类的一个实例,若子类继承了父类的方法(未重写),则运行时系统调用父类的方法。 若要访问父类中被覆盖的成员方法,则必须使用super关键字来表示父类对象,其一般调用格式是:super.方法名(实参表); 方法覆盖与方法重载的异同 ①方法覆盖要求参数签名必须一致,而方法重载要求参数签名必须不一致; ②方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类的所有方法(包括从父类中继承而来的方法); ③方法覆盖要求返回类型必须一致,而方法重载对此不做限制; ④父类的一个方法只能被子类覆盖一次,而一个方法在所在的类中可以被重载多次。 重载示例: public class University { String name, city; University(String name, String city) { this.name = name; this.city = city;} boolean samecity(String city) { if (city.equals(this.city)) return true; else return false;} boolean samecity(University u) { return samecity(u.city);} public static void main(String args[]) { String city = 上海; University u1 = new University(北京大学, 北京); University u2 = new University(清华大学, 北京); System.out.println(u1= + u1.name + , + u1.city); System.out.println(u2= + u2.name + , + u2.city); System.out.println(city= + city); System.out.println(u1.samecity(u2)= + u1.samecity(u2)); System.out.println(“u1.samecity(city)=” + u1.samecity(city));//局部变量 }} 抽象类 用 abstract 修饰的类是抽象类 ,抽象类是不完整的,并且它只能用作基类 其定义方法如下: abstract class 类名{ …… //类体 } 抽象类不能直接实例化,并且对抽象类使用 new 运算符是编译时错误。 虽然抽象类不能定义对象,但是抽象类可以有构造方法,并能被其子类所调用 使用抽象类注意以下四点: ①abstract抽象类不能创建对象,必须通过子类继承后,由子类来创建对象。 ②abstract抽象类中,可以没有抽象方法,也可以有一个或多个抽象方法。 ③若一个类中含有abstract抽象方法,则该类必须被声明为抽象类。 ④abstract抽象类不能被同时声明为final类。 抽象方法(Abstract Method)是指被abstract修饰的成员方法。抽象方法是一种只有方法声明而无方法体的一种特殊方法。抽象方法不能实现任何操作,而只能作为所有子类中重载该方法的一个统一接口。抽象方法定义的一般格式是: abstract class 类名{ //抽象类 abstract 返回类型 方法名([参数表]) ; //抽象方法 } ①abstract抽象方法只允许方法声明,不允许实现; ②abstract抽象方法不能被同时声明为final方法。 abstract class A { String str1; abstract void callme(); void metoo() { System.out.println(在抽象类A的非抽象metoo成员函数里+str1); }} class B extends A{ String str2; B(String instr) { this.str2=instr; super.str1=instr; } void callme() { System.out.println(在B的callme成员函数里+str2); } public static
您可能关注的文档
最近下载
- harry potter哈利波特英文版与魔法石.docx
- 十二烷基硫酸钠对黄锑矿浮选行为的影响及作用机理.pdf VIP
- 2024秋形势与政策章节测试题库【含答案】.pdf
- JB∕T 4149-2022 臂式斗轮堆取料机.pdf
- 备战2023高考英语江苏省二模三模试题分类汇编:七选五(含答案解析).docx VIP
- 【产业图谱】2022年茂名市产业布局及产业招商地图分析.pdf VIP
- 国家工商行政管理总局通达商标服务中心招聘模拟备考预测(共1000题)综合模拟试卷+答案解析.docx
- JRC航海雷达 JMA730372527253中文操作说明书.doc VIP
- 电子海图系统教程文件.ppt
- 学校单位后勤水电工作总结PPT.pptx
文档评论(0)