java多态是怎样产生的,java 多态产生的疑问
评论
# 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 多态产生的疑问相关推荐
- java 包装类可以被继承_【Java基本功】一文了解Java中继承、封装、多态的细节...
本节主要介绍Java面向对象三大特性:继承 封装 多态,以及其中的原理. 本文会结合虚拟机对引用和对象的不同处理来介绍三大特性的原理. 继承 Java中的继承只能单继承,但是可以通过内部类继承其他类来 ...
- 第三次学JAVA再学不好就吃翔(part35)--多态向上转型和向下转型
学习笔记,仅供参考 文章目录 面向对象 多态 多态向上转型和向下转型 多态的好处和弊端 面向对象 多态 多态向上转型和向下转型 我们首先通过以下代码复习一下自动类型提升和强制类型转换: class B ...
- java提高篇四_(转)java提高篇(四)-----理解java的三大特性之多态
面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承 ...
- java中的多态性_[转载] c++多态与java多态性_Java中的多态性
参考链接: Java中的加法和串联 c++多态与java多态性 Polymorphism is one of the core concepts of OOPS paradigm. The meani ...
- Java模式设计卖电脑实验报告,面向对象(Java)实验0继承、接口和多态
<面向对象(Java)实验0继承.接口和多态>由会员分享,可在线阅读,更多相关<面向对象(Java)实验0继承.接口和多态(11页珍藏版)>请在金锄头文库上搜索. 1.电子信息 ...
- JAVA基础第三章 面向对象进阶--多态等
3.1变量及其传递 1.变量实际是内存空间.引用型变量里存储的是引用,可以理解为对象实体的地址.指针.句柄.总之,通过这个引用我们就可以操纵这个对象. 例: MyDate m,n; //定义两个My ...
- 农夫过河算法java,Java农夫过河问题的继承与多态实现详解
Java农夫过河问题的继承与多态实现详解 发布时间:2020-08-22 06:04:29 来源:脚本之家 阅读:61 作者:小任性嘛 题目描述: 一个农夫带着一匹狼.一只羊.一颗白菜要过河,只有一条 ...
- 多态的综合练习(Java)
多态的综合练习(Java) 文章目录 多态的综合练习(Java) [题目描述] [思路] [代码实现] [思考] [总代吗] [题目描述] 定义Dog类 属性: 年龄(age).颜色(colo ...
- 十三、java类的封装、继承、多态
面向对象的三个基本特性就是:封装.继承和多态. 前面讲解了java 程序都是由类文件组成的,java是面向对象的程序设计语言,在java中面向对象的思想就是由类的设计来体现的,也即类的继承.封装和多态 ...
- 万字总结,一文带你秒懂Java中的封装、继承和多态(有代码 有示例)
Java中的封装.继承和多态 前言 一.面向对象有什么优势? 二.面向对象的三大特性! 1.封装 1.1访问限定符 1.2关于包的导入 1.2封装 2.继承 2.1继承的语法 2.2父类成员访问 3. ...
最新文章
- 查看oracle已经锁定的表,Oracle中查询被锁定的表
- Operations on word vectors-v2 吴恩达老师深度学习课程第五课第二周编程作业1
- C++中const用法总结
- 生物科学数据分析和数据管理本体论
- 手机两列布局,正方形
- Consul 服务注册与服务发现
- Python学习笔记---理解zip()函数
- 将TIMESTAMP类型的差值转化为秒的方法
- jQuery 学习-DOM篇(五):jQuery 使用 clone() 方法拷贝 DOM
- 转账设计测试用例-----必背
- linux curl证书错误,curl – SSL证书错误
- macbook系统占用硬盘大_苹果电脑系统占用硬盘过大,怎么解决
- HTML期末学生大作业-节日网页作业html+css+javascript
- 2021泰州高考成绩查询时间,2021年江苏省高考时间确定!
- 微软2013校园招聘笔试题
- python从网址爬图片协程_python协程gevent案例 爬取斗鱼图片过程解析
- 类似腾讯手机管家应用源码完整版
- Spirngboot整合之Mybatis-plus yml配置
- 手机端课程表的实现——仿超级课程表
- MongoDB文档数据库
热门文章
- 一位 Rust 开发者的 Go 初体验
- 软件工程师面试学习指南
- 阿里完成首个可控量子比特研发;45 名谷歌员工举报不公对待;Swoft 2.0.6 正式版发布 | 极客头条...
- 开源图数据库项目 DGraph 的前世今生 | 技术头条
- 最强 IDE 之争:Eclipse 还是没超过 Visual Studio、Xcode 回温
- 21 年前濒临倒闭的苹果是如何做到今天万亿市值的?
- 有谁还记得“开源”已经20年了!
- 累累白骨下,共享单车的困局
- VIVO怎么创建计算机快捷方式,vivo手机快捷键怎么调出来
- JAVA day10、11、12 飞机大战