class-一个自学的人,突然碰到不懂得地方

问题描述

一个自学的人,突然碰到不懂得地方

class Dog extends Animal

譬如dog定义了自己的方法wangwang

Animal anAnimal = new Dog();

此时不能直接调用anAnimal.wangwang方法

但是可以

if( anAnimal instanceof Dog){

Dog dog = (Dog)anAnimal;

dog.wangwang就可以调用了

Dog dog = (Dog)anAnimal;这个是什么用法?

解决方案

就是对象的强转呗:

Animal anAnimal = new Dog();
这个是父类的引用指向了子类的对象,从父类的角度看是没有wangwang方法的,所以你点不出来。
但是实际上new Dog(),他得到的是Dog的对象。(Dog)anAnimal可以把父类的声明强转成子类对象,进行调用。

解决方案二:

向下造型,向下造型本来是不安全的,但一开始,你ananimal对象就指向了dog,所以 anAnimal instanceof Dog是true,就可以向下造型

解决方案三:

代码放上来看看。dog和Animal

解决方案四:

谢谢各位大神,其实我看了一遍代码懂了用法,可是不怎么清楚原理。
回复3楼老师:没有源码,是百度问答里的一个答案,我直接COPY过来了。

时间: 2024-11-26 19:56:49

class-一个自学的人,突然碰到不懂得地方的相关文章

一个优异的经理人,碰到糟糕的企业,最后往往存在的还是那间糟糕的企业(转)

近日,网路流传一篇文章,是上海征途信息技术公司老板史玉柱的演说稿,让中国的媒体披露转载的.大意是说,他想在组织内大量建立狼文化,要把所有的兔子都赶出去. 所谓「狼」与「兔子」的概念,约莫是这几点内容: 1. 兔子窝文化肯定要失败.尤其搞互联网,竞争这么激烈,如果不是狼文化,肯定是死路一条. 2. 兔子人缘好,讨大家喜欢,但它不出业绩:兔子最爱繁殖,比谁都爱繁殖,不停地繁殖,找同类,生出大量小白兔,形成兔子窝,霸佔着岗位.资源和机会.如果一个公司大量核心岗位被兔子霸占,形成了『兔子窝』文化,就失去

一个只有50人的小公司以前,知道简·库姆的人很少

在扎克伯格花掉190亿美元买下一个只有50人的小公司以前,知道简·库姆的人很少.这个50人的小公司就是世界上4亿人都在用的美国版"微信"Whatsapp,而简·库姆是这个移动通讯应用软件的联合创始人和首席执行官.一个自学电脑,做过程序员,当过黑客,在雅虎苦干九年的37岁IT男,最终在自己曾排队领救济券的地方,将公司卖给自己曾投简历却被拒的Facebook,一夜之间身家涨到68亿美元,从"吊丝"到亿万富豪,简·库姆有的当然不仅仅是好运气. 条件一:励志图强的童年 移民

js-最近遇到一个很醉人的问题 我有两个项目 当我单独打开a项目的时候 ..

问题描述 最近遇到一个很醉人的问题 我有两个项目 当我单独打开a项目的时候 .. 最近遇到一个很醉人的问题 我有一个项目 分为两次打开 当我单独打开a项目的时候 里面的有个功能是缺失的关掉后 打开b项目那个功能又恢复了 a和b是相同的项目 他们的代码是一样的 更有意思的是当我两个项目都运行的时候 a和b的功能又全都恢复了 我关掉B 再次运行A 功能又缺失了 解决方案 我猜测应该去对比一下配置文件跟机器的运行环境的log文件

模板-有没有会修改cms源码 我想仿一个网站 但人家用的是dedecms谁能给我转成phpcms?

问题描述 有没有会修改cms源码 我想仿一个网站 但人家用的是dedecms谁能给我转成phpcms? 就是这个破站http://www.sellbang.com 他也是仿的别人的 但是模板我比较喜欢 但我只会phpCMS 不想再花时间研究dedecms 谁有现成的方法或软件给下呗 把它转成phpcms 解决方案 你会phpcms,dede更容易啊,

模板类-学数据结构是一个叫殷人昆写的,书里各种bug,下面的重载函数到底怎么写?不要+内容,只要重载格式

问题描述 学数据结构是一个叫殷人昆写的,书里各种bug,下面的重载函数到底怎么写?不要+内容,只要重载格式 #ifndef SORTEDCHAIN_INCLUDED #define SORTEDCHAIN_INCLUDED #include #include using namespace std; template struct ChainNode { E data; ChainNode* link; ChainNode(): link(NULL){}; ChainNode(E& e1, Ch

刚学习C#,求一个P2P 多人聊天室源代码学习

问题描述 本人菜鸟,刚学习C#,求一个P2P多人聊天室源代码学习,求犀利源代码学习借鉴. 解决方案 解决方案二:可以发到本人邮箱451195526@qq.com谢谢~~~各位大牛!解决方案三:去51aspx网站下载

不谈技术~做一个好人,一个简单的人

做一个好人,一个简单的人! 有时,我们往往会误会一些人,一些事,这是正常的,因为每个人的想法不错,思考问题的方式不同,产生的结果当然也就不同. 有时,我们会犯一些错误,一些可笑的错误,但重要的是,如果你知道了你是错误的,一定要马上改正,越快越好,因为只有这样,所产生的负面影响才是最小的. 做一个好人 人是很有意思的动物,他们有自己的思维,他们有时会很活跃,他们有时会很天真,也有也很可笑,但重要的是,只要我们所做的,对的起自己的良心就可以了,请做一个好人. 做一个简单的人 简简单单才会快乐,不要把

从《一个被亿万人上过的女人的来信》看视频营销推广

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 由于春节将至,大家最为关心的就是怎么回家的问题!而在如今12306网站不给力的情况下,各类抢票插件也如雨后春笋般迅速崛起!在这里相信大家几天前应该有看过<一个被一万人上过女人的来信>的视频,此视频为猎豹抢票插件的一次视频推广,非常的成功.这段视频短短的时间就像病毒一样在互联网上散播开来,得到无数人的转播下载,而猎豹浏览器抢票专版的

android初学者要做一个pdf的阅读器要从什么地方着手

问题描述 android初学者要做一个pdf的阅读器要从什么地方着手 android初学者要做一个pdf的阅读器要从什么地方着手,这学期刚上android这门课,期末作业是要自己做一样东西,打算做一个pdf格式的阅读器,现在还在一边学习中.阅读器该从哪里开始做,UI层吗?还是先做个类似需求分析的文档?后面引用的图片是不是要用到ps去整理图片? 解决方案 http://download.csdn.net/detail/yshwaishui/9514810 可以帮到你 解决方案二: 先做需求分析,用