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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

首先,我知道,继承只能是单继承的,接口可以实现多个。

如果A继承类B然后再实现接口 C,如果 B 和 C 里面都有一个相同的方法,这个时候怎么办?JAVA会选择谁?

4 个回复

倒序浏览
本帖最后由 邓斌 于 2012-4-5 13:02 编辑

呵呵。这问题够意思。
做简单方法自己做一下
interface Jc
{
         /*public void show()
        {
        System.out.println("Jc");
        }
        */
       
        public void show();


               
       
       
}

class Fu
{
        void show()
        {
                System.out.println("fu");
        }
}

class Zi extends Fu implements Jc
{
                /*public void show()
        {
                System.out.println("2");}
                */
                public void show()
        {
                System.out.println("2");}
               
}

class Sy
{
        public static void main(String[] args)
        {
                Zi t= new Zi();
                t.show();
       
        }
}                          ^
1 个错误

子类只能复写继承中的方法。如果不复写。
由父类完成。提示错误
Sy.java:25: 错误: Fu中的show()无法实现Jc中的show()
class Zi extends Fu implements Jc
^
  正在尝试分配更低的访问权限; 以前为public
1 个错误

这问题,太多要查询的了。视频得复习下。这是个人得出的结论。我不是学院派。都是自学。没什么基础。不想太过纠结于此。只是初学者。很多问题现在考虑太多只是浪费时间。
呵呵。。太纠结的。不想太多了。继续学习。看视频。可能有些细节没抓到
回复 使用道具 举报
接口中的方法都是抽象的,就是说比如接口中有fun()方法,但是它没有功能实现,也就是没有方法的具体实现,所以一个类实现了两个接口也不会冲突。当A类继承了一个类同时实现这个接口的时候,A里面重写了fun方法,那么它是实现了接口的方法,同时也覆盖了父类的方法。
回复 使用道具 举报
使用接口避免了类单继承的局限性,在定义线城时,一个类可以实现多个接口,一个接口可以继承自多个接口,也可以被多个接口继承,建立使用接口实现方式。
回复 使用道具 举报
如果父类相同的方法的权限也是public的话,就是父类的。否则,需要你自己重写。
继承后重写访问权限要大于或等于父类的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马