DAY13
接口继承接口
1接口中是没有静态代码块和构造方法的
2个类的直接父类只有一一个
但是-一个类可以实现多个接口
3 如果实现类 所实现的多个接口中, 存在重复的抽象方法, 那么只需要覆盖重写一 次即可
4如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类必须是-一个抽象类
5.如果实现类所实现的多个接口中, 存在重复的默认方法,那么实现类一 定要对默认方法进行覆盖重写
6类与类之间的是单继承 直接父类只有一个
7类和接口之间是多实现 一个类可以实现多个接口
8接口和接口之间是多继承的
注意事项:
9多个父接口中的抽象方法如果重复,没有关系
10多个父接口中的默认方法重复
public interface MyInterfaceA{
public abstract void method();
public abstract void methodAbs();
public default void methodDefault() {
System.out.println(“默认方法A”);
}
}
public interface MyInterfaceB {
public abstract void methodB();
public abstract void methodAbs();
public default void methodDefault() {
System.out.println(“默认方法B”);
}
}
public interface MyInterface extends MyInterfaceA,MyInterfaceB {
public abstract void method();
@Override
default void methodDefault() {
MyInterfaceA.super.methodDefault();
}
}
public class MyINterfaceImpl implements MyInterfaceA,MyInterfaceB {
public void methodA() {
}
@Override
public void methodB() {
}
@Override
public void methodAbs() {
}
@Override
public void methodDefault() {
MyInterfaceA.super.methodDefault();
}
@Override
public void method() {
// TODO 自动生成的方法存根
}
}
public class demo02Interface {
public static void main(String[] args) {
MyINterfaceImpl zi=new MyINterfaceImpl ();
zi.method();
}
}
package demo5;
import demo4.MyClass;
public class MyAon2 extends MyClass {
public void method() {
}
}
package demo5;
import demo4.MyClass;
public class Stanger {
public void methodStranger() {
MyClass myclass=new MyClass();
}
}
package demo4;
public class MyClass {
private int num = 5;
public void method () {
System.out.println(num);
}
int sum=num+1;
}
package demo4;
public class MySon1 extends MyClass {
public void method() {
}
}