Java 抽象类和接口

抽象类:

    抽象方法没有方法体只有方法签名,必须要用abstract修饰方法
    拥有抽象方法的类必须为抽象类,即类必须要用Abstract修饰类
        其中抽象类一定有构造器,但是不一定有抽象方法
抽象类的作用:
    为了被子类继承,即子类必须要重写抽象方法,否则这个类也要被定义为抽象类
 抽象类的特征:(有得有失)
    拥有抽象方法的能力,但是失去创建对象的能力
 抽象类的存在意义:
    1.为了被子类继承,否则毫无意义(基本准则)
    2.抽象类体现的是模板思想,部分实现,部分抽象,可以设计模板设计模式
 抽象类的设计模板模式:(架构或思想)可提高开发效率,提高软件扩展性和维护性
    优化代码架构,提高代码复用性,抽象部分由子类实现
    将大家都有的功能但具体又有不一样的功能抽象化

接口:

    体现的是规范思想,实现接口的子类必须要全部重写接口的抽象方法
接口定义格式:
    修饰符 interface 接口名称{
        在JDk 1.8之前接口中只能是抽象方法和常量,除此之外没有其他成分
    }
1.抽象方法
    在接口中的抽象方法可以public abstract 不写,默认会加上
        void run();
2.常量:变量值只有一个,而且在程序运行过程中不可更改
    一般修饰符是:public static final
    名称建议字母全部大写,多个单词用_连接
    而public static final可以省略,默认是会加上的
        public static final String SCHOOL_NAME = "黑马";

子类  继承  父类
实现类 实现  接口

接口的基本实现:(不是类,但相当于父类)
    类于类是继承关系
    类与接口是实现的关系,接口是被类实现的,实现接口的类是实现类
类实现接口的格式:
    修饰符 class 实现类名称 implements 接口1,接口2,接口3{

    }
    即接口可以多实现,但是一定要重写全部接口中全部的抽象方法
接口与接口的多继承(区别类与类是单继承),一个接口可以同时继承多个接口

JDK 1.8之后接口新增了三个方法:

    1.默认方法:就是普通的实例方法
        必须用default修饰
        默认会加public修饰
        只能用接口的实现类的对象来调用
    2.静态方法
        可以直接加static修饰
        默认会加public修饰
        接口的静态方法只能用接口的类名称调用
    3.私有方法(从1.9开始)
        私有的实例方法,必须要用private修饰

注意:

1.当一个类继承一个父类,有实现多个接口
当父类的方法名和接口的方法名一致时,子类使用时会选择去执行父类中的方法
2.当一个类实现多个接口时,多个接口中存在同名的默认方法
实现类必须重写这个方法
3.接口没有构造器,不能创建对象
接口本身是抽象的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值