评论

# re: java 多态产生的疑问

2012-07-11 09:06

rubyliu12

你这个也太扯淡了吧

你代码里B有继承A吗?没继承的话A a=new B();这样编译能通过?

最后A类是私有的test的方法的话

A a=new B();

a.test();可以这么写?不知道楼主是这么编译和运行及得出的结论。看楼主的其他文章感觉也不是刚出道的菜鸟啊。

回复  更多评论

# re: java 多态产生的疑问

2012-07-11 09:43

scorpio小蝎

@rubyliu12

谢谢指正,代码贴错了,已修改。   回复  更多评论

# re: java 多态产生的疑问

2012-07-11 09:56

scorpio小蝎

@rubyliu12

A类中 private test() 的方法由于main方法是在A类中 所以可以调用。这只是个demo。其实际意义是,如果A类中public方法调用了A类的private方法,而由于子类重写了A类的private方法,将会出现如题所述的问题。有问题欢迎指教   回复  更多评论

# re: java 多态产生的疑问

2012-07-11 09:59

scorpio小蝎

class A {

private void test(){

System.out.println("A");

}

public void get(){

test();

}

}

public class B extends A{

//@override 不能有,因为private的方法被自动认为是final的且不能被访问。

public void test(){

System.out.println("B");

}

public static void main(String[] args) {

A a=new B();

a.get();

}

}  回复  更多评论

# re: java 多态产生的疑问

2012-07-11 10:00

rubyliu12

而由于子类重写了A类的private方法?

private的方法是私有的存在被子类重写这样的说话。  回复  更多评论

# re: java 多态产生的疑问

2012-07-11 10:08

scorpio小蝎

@rubyliu12

按照概念来讲,不能叫做重写,因该叫做子类新增了方法,但是形式上以及方法名是一模一样的,很多新人都不会注意这点,为了区分才提出的。  回复  更多评论

# re: java 多态产生的疑问

2012-07-11 10:09

scorpio小蝎

@rubyliu12 这句话里有提到,并不是真正意义的覆盖“这个结论是,a.test()调用的是A类的方法test。因为B中的test方法并不是覆盖了A类的方法。因此,A调用的只是他自身的test方法。大家注意的是,尽量不要在子类中声明和父类私有方法相同名称的方法。”不过你这个问题提的很不错,这样子大家看得更清楚了

回复  更多评论

java多态是怎样产生的,java 多态产生的疑问相关推荐

  1. java 包装类可以被继承_【Java基本功】一文了解Java中继承、封装、多态的细节...

    本节主要介绍Java面向对象三大特性:继承 封装 多态,以及其中的原理. 本文会结合虚拟机对引用和对象的不同处理来介绍三大特性的原理. 继承 Java中的继承只能单继承,但是可以通过内部类继承其他类来 ...

  2. 第三次学JAVA再学不好就吃翔(part35)--多态向上转型和向下转型

    学习笔记,仅供参考 文章目录 面向对象 多态 多态向上转型和向下转型 多态的好处和弊端 面向对象 多态 多态向上转型和向下转型 我们首先通过以下代码复习一下自动类型提升和强制类型转换: class B ...

  3. java提高篇四_(转)java提高篇(四)-----理解java的三大特性之多态

    面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承 ...

  4. java中的多态性_[转载] c++多态与java多态性_Java中的多态性

    参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...

  5. Java模式设计卖电脑实验报告,面向对象(Java)实验0继承、接口和多态

    <面向对象(Java)实验0继承.接口和多态>由会员分享,可在线阅读,更多相关<面向对象(Java)实验0继承.接口和多态(11页珍藏版)>请在金锄头文库上搜索. 1.电子信息 ...

  6. JAVA基础第三章 面向对象进阶--多态等

    3.1变量及其传递 1.变量实际是内存空间.引用型变量里存储的是引用,可以理解为对象实体的地址.指针.句柄.总之,通过这个引用我们就可以操纵这个对象. 例: MyDate m,n;  //定义两个My ...

  7. 农夫过河算法java,Java农夫过河问题的继承与多态实现详解

    Java农夫过河问题的继承与多态实现详解 发布时间:2020-08-22 06:04:29 来源:脚本之家 阅读:61 作者:小任性嘛 题目描述: 一个农夫带着一匹狼.一只羊.一颗白菜要过河,只有一条 ...

  8. 多态的综合练习(Java)

    多态的综合练习(Java) 文章目录 多态的综合练习(Java) [题目描述] [思路] [代码实现] [思考] [总代吗] [题目描述] 定义Dog类 ​ 属性: ​ 年龄(age).颜色(colo ...

  9. 十三、java类的封装、继承、多态

    面向对象的三个基本特性就是:封装.继承和多态. 前面讲解了java 程序都是由类文件组成的,java是面向对象的程序设计语言,在java中面向对象的思想就是由类的设计来体现的,也即类的继承.封装和多态 ...

  10. 万字总结,一文带你秒懂Java中的封装、继承和多态(有代码 有示例)

    Java中的封装.继承和多态 前言 一.面向对象有什么优势? 二.面向对象的三大特性! 1.封装 1.1访问限定符 1.2关于包的导入 1.2封装 2.继承 2.1继承的语法 2.2父类成员访问 3. ...

最新文章

  1. 查看oracle已经锁定的表,Oracle中查询被锁定的表
  2. Operations on word vectors-v2 吴恩达老师深度学习课程第五课第二周编程作业1
  3. C++中const用法总结
  4. 生物科学数据分析和数据管理本体论
  5. 手机两列布局,正方形
  6. Consul 服务注册与服务发现
  7. Python学习笔记---理解zip()函数
  8. 将TIMESTAMP类型的差值转化为秒的方法
  9. jQuery 学习-DOM篇(五):jQuery 使用 clone() 方法拷贝 DOM
  10. 转账设计测试用例-----必背
  11. linux curl证书错误,curl – SSL证书错误
  12. macbook系统占用硬盘大_苹果电脑系统占用硬盘过大,怎么解决
  13. HTML期末学生大作业-节日网页作业html+css+javascript
  14. 2021泰州高考成绩查询时间,2021年江苏省高考时间确定!
  15. 微软2013校园招聘笔试题
  16. python从网址爬图片协程_python协程gevent案例 爬取斗鱼图片过程解析
  17. 类似腾讯手机管家应用源码完整版
  18. Spirngboot整合之Mybatis-plus yml配置
  19. 手机端课程表的实现——仿超级课程表
  20. MongoDB文档数据库

热门文章

  1. 一位 Rust 开发者的 Go 初体验
  2. 软件工程师面试学习指南
  3. 阿里完成首个可控量子比特研发;45 名谷歌员工举报不公对待;Swoft 2.0.6 正式版发布 | 极客头条...
  4. 开源图数据库项目 DGraph 的前世今生 | 技术头条
  5. 最强 IDE 之争:Eclipse 还是没超过 Visual Studio、Xcode 回温
  6. 21 年前濒临倒闭的苹果是如何做到今天万亿市值的?
  7. 有谁还记得“开源”已经20年了!
  8. 累累白骨下,共享单车的困局
  9. VIVO怎么创建计算机快捷方式,vivo手机快捷键怎么调出来
  10. JAVA day10、11、12 飞机大战