- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chap5 java继承和多态
Chap5 继承与多态;继承的基本概念;一个父类可以有多个子类 比如电话卡类
;统攀殆未碘滇赎杀脉夯铂聊奏迎寇扩岩萨甫战但腑诲租糕闪痈遮委僚曹行chap5 java继承与多态chap5 java继承与多态;
电话卡
域:
剩余金额
方法:拨打电话,查询余额
;域的继承与隐藏;注意在域的隐藏情况下,继承自父类的变量在子类中仍然占有一个内存空间。
;方法的继承和覆盖;public class testoverload{
public static void main(String args[]){
subclass subc1=new subclass();
subc1.superprint();
}
}
class superclass
{ void superprint(){
System.out.println(“super method”);
}
}
class subclass extends superclass
{void superprint()//父类的superprint()被覆盖,不存在了
{ System.out.println(“sub method”);
}
};this 与super;public class testthisandsuper
{public static void main(String args[])
{phonecard200 pc200=new phonecard200(123,111);
System.out.println(“父类的值”+pc200.getbalance());
System.out.println(“本类的值”+pc200.get200balance());
}}
class phonecard{ double balance=100;}
class phonecard200 extends phonecard
{long cardnum;
long password;
double balance=200;
phonecard200(long cardnum,long password)
{this.cardnum=cardnum;
this.password=password;}
double getbalance(){return super.balance;}
double get200balance(){return this.balance;}};多态;方法的覆盖;方法的重载;对象引用的多态;class Empolyee{double salary;}
class Manager extends Empolyee{double allowance;}
class Leader extends Manager{…}
Employee emp1=new Employee();
Employee emp2=new Manager();//emp2是Employee类型的变量
Employee emp3=new Leader();
emp2.salary √ emp2.allowance ×
父类变量可以让一个子类的对象做父类对象可以做的事情。也就是说,通过父类的变量不能让子类对象做父类对象不能做的事情,即使子类对象有这样的功能。
;如果父类变量实际指向子类对象,可以使用类似强制类型转换,将父类变量转换为子类变量
Manager mgr=(Manager)em2p;
emp2.allowance √
下面的情况是错的:
Employee emp=new Employee()
Manager mgr=(Manager)emp;在对象引用的多态中,如何确定某个变量是父类的对象,还是子类的对象呢?
可以使用关系运算符instanceof
例:Employee emp=new Employee()
emp instanceof Employee //结果为true
emp instanceof Manager //结果为false
Employee emp2=new Manager()
emp instanceof Employee //结果为false
emp instanceof Manager //结果为true
;构造函数的重载;类 phonecard200可以定义以下构造函数:
phonecard200()
{ }
phonecard200(long cn)
{cardnum=cn;}
phonecard200(long cn,long pw)
{cardnum=cn;
password=pw}
phonecard200(long cn,long
您可能关注的文档
最近下载
- 《解析几何》教案--吕林根,许子道.pdf
- 美国加州桥梁抗震caltrans seismic design criteria vlysis.pdf VIP
- 2025云南省临沧市市级单位公开遴选(选调)工作71人笔试参考题库附答案解析.docx VIP
- HSE保障措施优化及实施方案研究.docx VIP
- 2025甘肃省公路交通建设集团武仙公路收费运营人员招聘61人笔试模拟试题及答案解析.docx VIP
- 2025年秋新鲁科版英语四年级上册全册课件.pptx
- 颚式破碎机技术参数.docx VIP
- 2024河南资本集团“方舟”第三批招聘41人笔试参考题库附带答案详解.pdf
- 《时尚配饰设计》课件.ppt VIP
- 高边坡专家论证PPT汇报材料(中建).ppt VIP
文档评论(0)