Day02_12目标:实现多个接口的使用注意事项

目标:实现多个接口的使用注意事项

小结:

1.如果实现了多个接口,多个接口中存在同名的静态方法并不会冲突,
原因是只能通过各自接口名访问静态方法。

2.当一个类,既继承一个父类,又实现若干个接口时,(重点)
父类中的成员方法与接口中的默认方法重名,子类就近选择执行父类的成员方法。

3.当一个类实现多个接口时,多个接口中存在同名的默认方法。
实现类必须重写这个方法。

4.接口中,没有构造器,不能创建对象。(重点)
接口是更彻底的抽象,连构造器都没有,自然不能创建对象!!

如果实现了多个接口,多个接口中存在同名的静态方法并不会冲突

原因是只能通过各自接口名访问静态方法。

interface A{
    static void test(){
        System.out.println("A");
    }
}
interface B{
    static void test(){
        System.out.println("B");
    }
}
class C implements A , B{
}

interface A{
    static void test(){
        System.out.println("A");
    }
}
interface B{
    static void test(){
        System.out.println("B");
    }
}
class C implements A , B{
}

当一个类,既继承一个父类,又实现若干个接口时,(重点)

父类中的成员方法与接口中的默认方法重名,子类就近选择执行父类的成员方法。

class Animal{
    public void run(){
        System.out.println("动物可以跑步~~~");
    }
}
interface A{
    default void run(){
        System.out.println("A可以跑步~~~");
    }
}
interface B{

}
class Cat extends Animal implements A , B{

}

当一个类实现多个接口时,多个接口中存在同名的默认方法。

实现类必须重写这个方法。

interface A{
    default void test(){
        System.out.println("A");
    }
}
interface B{
    default void test(){
        System.out.println("B");
    }
}
class C implements A , B {
    @Override
    public void test() {
        System.out.println("C");
    }
}

接口中,没有构造器,不能创建对象。(重点)

接口是更彻底的抽象,连构造器都没有,自然不能创建对象!!

public class InterfaceDemo {
    public static void main(String[] args) {
        Cat c = new Cat();
        c.run();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值