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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 巴拉森 中级黑马   /  2015-5-9 01:17  /  393 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class demo
{       
         String leiXing = "狼" ;
         String eat = "吃肉";
                        public void out()
                        {
                        System.out.println(this.leiXing + this.eat);
                        }
}
class demo1 extends demo
{

String leiXing = "猫";
        String eat = "吃鱼刺";
}


class chengfeng
{
        public static void main(String[] args)
        {
        demo z = new demo();
        z.leiXing = "狗";
        z.eat = "吃骨头";
        z.out();
        demo1 c = new demo1();
        c.out();
        }
}
(为什么最后输出的;猫吃鱼刺;变成了;狼吃肉)???哪个地方出现错误了

3 个回复

倒序浏览
你没复写父类的out方法
回复 使用道具 举报
你要重写方法!你只是重新了属性!但调用的还是父类的方法!父类的方法还是调用的父类的属性!和子类没有关系!没有运行!
回复 使用道具 举报
貌似成员变量不能重写吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马