A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小菜鸟啊 中级黑马   /  2014-1-15 22:06  /  1132 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Fu{
        public int num = 10;
        public void show(){
                System.out.println("fu show");
}
}

class Zi extends Fu{
        public int num = 20;
        public void show(){
                System.out.println("zi show");
        }
        public void method(){
                System.out.println("zi method");
        }}
class DuoTaiDemo2 {
        public static void main(String[] args) {
                Fu fu = new Zi();<-----这块不明白
                fu.show();//zi show
                //fu.method();
                System.out.println(fu.num);//10


               

评分

参与人数 1技术分 +1 收起 理由
船长 + 1

查看全部评分

3 个回复

倒序浏览
本帖最后由 银酱 于 2014-1-15 22:15 编辑

父类引用指向子类对象。这时候编译时候看等号左边,运行的时候确实实现的右边的内容
就好像动物能指向猫一样具体可参考我的bloghttp://blog.csdn.net/wknlm0001/article/details/18231621

评分

参与人数 1技术分 +1 收起 理由
船长 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 疯狂的土贼 于 2014-1-15 22:25 编辑

class DuoTaiDemo2 {
        public static void main(String[] args) {
                Fu fu = new Zi();<-----这块不明白
                fu.show();//zi show
                //fu.method();
                System.out.println(fu.num);//10
跟你说完这个 呵呵我就累码去了
Fu fu = new Zi();<-----这块个不明白
为了让你看得懂吧 我给你拆开讲
Fu 和Zi 这是两个类 分别名字为Fu和Zi
fu=new Zi(); 这个是创建一个名为fu的对象
这个基本理解了的话 那么我们就说下 多态
多态 是指一个对象或者一个方法可以有多种实现的版本 也就是一种定义 多种实现
对于一个方法的多种实现 程序在运行的时候 会根据方法的参数不同 自动选择一个执行 不会产生混淆
也就是同名 同类型的函数 参数列表不同
这样 在实现一个类的时候由于参数不同那么在调用的时候如果给予一个特定的参数那么这个方法就会去调用带有相同参数的对象实现具体的操作
哎 还是基础不牢靠啊 在回头看看 对了 论坛上有份毕老师的笔记 整理的不错 你还是再看下 很有帮助 我给你放在这里 喜欢的话你就下载去吧

毕向东java基础总结.zip

126.46 KB, 下载次数: 37

评分

参与人数 1技术分 +1 收起 理由
船长 + 1

查看全部评分

回复 使用道具 举报
Fu fu = new Zi();这个是创建了一个子类类型的对象 fu.show当然就是调用了子类的方法 走了子类的方法打印了zi show 然后打印zi的成员变量(20)

评分

参与人数 1技术分 +1 收起 理由
船长 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马