extends和implements的区别

首先需要记住的是extends表示继承关系implements表示实现关系

那么extends用于哪些情形、implements又用于哪些情形呢?

 

extends:

子类(class) extends   父类(class)===>继承类只能是单继承,也就是如果父亲属于类(class),那么父亲只能有一个

类(class)/ 接口(interface)    extends     接口1(interface,接口2(interface===>继承接口可以是多继承,也就是如果父亲是接口(interface)那么可以有多个父亲 

 

 ps1: 这里子类继承父类的前提父类class不是final类

ps2:如果父类是抽象类,那么子类需要实现父类中的所有抽象方法,否则子类也将变成抽象类(实际上子类继承抽象父类的过程,也就是抽象父类的实例化的过程,因为抽象类不能直接被实例化,即不能通过new一个对象来产生,而是要借助于一个普通的类通过继承,实现所有该抽象类中的所有抽象方法来进行实例化;但是事实上也可以通过new来实例化抽象类,只是还需要借助于匿名内部类来实现

java中的匿名内部类总结

public class Test4 {
    public  abstract static class animal{
        public abstract void say();
    }

    public static void main(String[] args){
        //直接通过new一个抽象类来实例化
        //而这里相当于省略了创建子类继承进行实例化的步骤,也就是利用了匿名内部类实现实例化
        animal animal = new animal(){
            public void say(){
                System.out.println("miaomiao");
            }
        };
        animal.say();

    }
}

ps3:继承类虽然不能多继承,即一个子类不能有多个父亲,但是可以多重继承,即class A extends B{}    classB extends C{}

ps4:子类不能继承父类的private属性和方法

ps5:子类继承父类的方法时可以对父类的方法进行重写,这时候就需要注意重写的规则(参数个数、参数类型、返回类型和父类保持一致,同时子类重写方法的修饰符范围不能小于父类的修饰符)重写和重载

 

implements:

类(class) implements   接口1(interface),接口2(interface)==>一个类可以实现多个接口

ps1:实现一个接口需要实现接口中的所有方法

 

转载于:https://www.cnblogs.com/flyingcr/p/10326828.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值