Java--继承父类并实现多个接口、接口之间的多继承、多态的格式和使用、多态中成员变量的使用特点、以及对象的向上转型和向下转型

本文详细介绍了Java中继承父类并实现多个接口的规则,包括接口间的多继承、多态的使用、成员变量的特点,以及对象的向上和向下转型。重点讲解了接口实现时的注意事项,如接口方法的覆盖,以及在多态场景下成员变量和方法的访问规则。同时,探讨了对象转型的安全性和具体操作方式。
摘要由CSDN通过智能技术生成

1.继承父类并实现多个接口

使用接口的时候,需要注意:

1)接口没有静态代码块或者构造方法的。

2)一个类的直接父类是唯一的,但是一个类可以同时实现多个接口。

格式:
public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB{
        //覆盖重写所有抽象方法
}

3)如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可。

4)如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类。

5)如果实现类所实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写。

6)一个类如果直接父类当中的方法,和接口当中的默认方法产生了冲突,优先用父类当中的方法。

//定义接口A
public interface MyInterfaceA {

    // 错误写法,接口没有静态代码块
//    static {
//
//    }
    // 错误写法,接口不能有构造方法
//    public MyInterfaceA();

    public abstract void methodA();

    public abstract void methodAbs();

    public default void methodDefault(){
        System.out.println("默认方法AA");
    }

}
//定义接口B
public interface MyInterfaceB {

    // 错误写法,接口没有静态代码块
//    static {
//
//    }
    // 错误写法,接口不能有构造方法
//    public MyInterfaceA();

    public abstract void methodB();
    public abstract void methodAbs();
    public default void methodDefault(){
        System.out.println("默认方法BB");
    }
}
//定义实现类
public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB {
    @Override
    public void methodA() {
        System.out.println("覆盖重写了A方法");
    }

    @Override
    public void methodAbs() {
        System.out.println("覆盖重写了AB接口都有的抽象方法");
    }

    @Override
    public void methodB() {
        System.out.println("覆盖重写了B方法");

    }

    @Override
    public void methodDefault() {
        System.out.println("
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值