今天休息,复习了一下面向对象中的接口,因为是昨天讲的,概念太多,讲一遍根本记不住,并且是跟着老师的思路学习的,所以没有自己的思路,完全是昨天听,今天忘的状态,所以有复习了一下,有个小收获,分享一下:
接口中的特点有一条是:接口可以继承接口,可以单继承,可以多继承.
今天看了一下,发现"可以多继承",非常使新手容易误解,前面讲过的知识点说过类继承的问题,即只能单继承,不能多继承,可以多层继承,而接口中提到的"可以多继承",和类是一样的,也是可以多层继承,不可以多继承,即只有有一个亲爹,不能有多个亲爹,可以有多个干爹,大家是不是被这段文字绕晕了??呵呵哒,下面我把写的代码发一下,大家看一下就明白了:
//接口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,那么就会报错.
有什么看不懂的,或者指点,请大神指点!! |
|