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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© tajufa 中级黑马   /  2015-5-31 20:03  /  306 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天学习到多态,碰到一个问题就是 这组代码我编译不能通过,说是权限问题,,我当时编译时想方法前一般都是默认public所以就省略不写,哪知道不能通过,这也就是说子类方法默认的是private..   所以想顺便请教下什么情况下可以省略public或者private.
interface  Animal
        {     
                 void eat();
                       
        }
        class Cat implements Animal
        {
           void eat()
                        {
                System.out.println("吃鱼");
               
                        }
           void catchMouse()
                {
               
                System.out.println("抓老鼠");
                }
                       

        }
        class Dog implements Animal
        {
               
                  void eat()
                        {
                System.out.println("吃骨头");
               
                        }
                 void kanJia()
                {
                System.out.println("看家");
                }

        }


1 个回复

倒序浏览
因为接口的方法默认都是public,所以你要实现接口,复写接口的方法必须是public,压迫不然权限低与接口,复写不了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马