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

今天休息,复习了一下面向对象中的接口,因为是昨天讲的,概念太多,讲一遍根本记不住,并且是跟着老师的思路学习的,所以没有自己的思路,完全是昨天听,今天忘的状态,所以有复习了一下,有个小收获,分享一下:                                                      
   接口中的特点有一条是:接口可以继承接口,可以单继承,可以多继承.
        今天看了一下,发现"可以多继承",非常使新手容易误解,前面讲过的知识点说过类继承的问题,即只能单继承,不能多继承,可以多层继承,而接口中提到的"可以多继承",和类是一样的,也是可以多层继承,不可以多继承,即只有有一个亲爹,不能有多个亲爹,可以有多个干爹,大家是不是被这段文字绕晕了??呵呵哒,下面我把写的代码发一下,大家看一下就明白了:
//接口1,说英语
public abstract interface SpeakEnglish {
        //System.out.println("说英语");
        public abstract void speak1();
}
//接口2,说日语并继承说英语
public abstract interface SpeakJapanese extends SpeakEnglish{
        public abstract void speak2();
}
//接口3,说中文,并且继承说日语
public abstract interface SpeakChinese extends SpeakJapanese {
        public abstract void speak3();
}
//Person类实现接口SpeakChinese
public class Person implements SpeakChinese {
        @Override
        public void speak3() {
                System.out.println("说中文");
        }
        @Override
        public void speak1() {
                System.out.println("说英语");
        }
        @Override
        public void speak2() {
                System.out.println("说日语");
        }
}
//测试类
public class Test {
        public static void main(String[] args) {
                //创建对象Person
                Person p = new Person();
                //调用方法
                p.speak3();
                p.speak1();
                p.speak2();
        }
}
如果最后一个接口SpeakChinese同时继承SpeakEnglish和SpeakJapanese,那么就会报错.
有什么看不懂的,或者指点,请大神指点!!

2 个回复

倒序浏览
学习了学习了学习了
回复 使用道具 举报
学习了........
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马