ImageVerifierCode 换一换
格式:DOCX , 页数:4 ,大小:16.53KB ,
资源ID:3088762      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3088762.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(变量没有多态.docx)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

变量没有多态.docx

1、多态中的方法是可以重写的,但是变量不能重写,你运行一下这个看看结果就知道了,父类声明,子类实例化,用这个对象去调方法是子类的方法,但是去调属性,就是父类的了。public class A public String a=“a“;public void A()System.out.println(“我是 A 类中的 A 方法“);public class B extends A public String a=“b“;public void A()System.out.println(“我是 B 类中的 A 方法“);public static void main(String args) A

2、b = new B();b.A();System.out.println(b.a);结果:我是 B 类中的 A 方法aJava 向上转型之后调用子类的同名变量/方法的问题(多态)2012-10-17 0 个评论 收藏 我要投稿直接引用百度知道上面的一个问题吧,问得很详细,答得很明确,我自己就不总结了。java 中向上转型时变量类型由声明时决定还是由 new 决定比如class FatherString name=“父“;void f()System.out.print(“父类“); class SonString name = “儿子“;void f()System.out.print(“儿子

3、“);void f2()Father s = new Son();s.name;/1s.f();/2s.f2();/3我的疑问:不是说类型是由 new 决定的而不是由声明决定的吗?即 Father s=new Son()此时 s 的具体类型是什么?若是 Father 那上面的 2 就应该输出“父类”而不是“儿子”?若是 Son 类那就应该能调用 f2()呀?另外还有 name 疑问,s.name 怎么会是“父“呢?真是绕来绕去啊首先 class son 改一下class Son extends Father接下来分析:Father s = new Son();表示定义了一个 Father 类型

4、的引用,指向新建的 Son 类型的对象。由于 Son是继承自它的父类 Father,所以 Father 类型的引用是可以指向 Son 类型的对象的。那么这样做有什么意义呢?因为子类是对父类的一个改进和扩充,所以一般子类在功能上较父类更强大,属性较父类更独特,定义一个父类类型的引用指向一个子类的对象既可以使用子类强大的功能,又可以抽取父类的共性。所以,父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的; 因此 s.name 调用父类的属性! f2方法父类没有,出错!同时,父类中的一个方法只有在在父类中定义而在子类中没有重写的情况下,才可以被父类类

5、型的引用调用;对于父类中定义的方法,如果子类中重写了该方法,那么父类类型的引用将会调用子类中的这个方法,这就 我总结一下(向上转型):1、同名字段的话是父类的。2、如果子类覆盖了父类的方法,调用的是子类方法。3、如果父类没有子类定义的方法,会编译错误。哎,结果是知道了。能不能帮我理解一下这句话:对象的类型是由创建它的类决定的,而不是由声明它的变量决定的。要是这样的话,那 Son 的 class 对象不是能够查找出 f2()吗?回答记住哦,我们现在创建的是父类的引用指向子类 Son 的对象。子类中定义的方法f2 在父类中不存在,所以用这父类的引用去调用他没有的方法是错误的。对于多态,可以总结它为:一、使用父类类型的引用指向子类的对象;二、该引用只能调用父类中定义的方法和变量;三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。java 多态是一个难点,希望你多练多想,很快就会学通的,这个在做项目的时候很有用。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。