• java学习中,接口的使用(重要,常用知识点)(java 学习中的小记录)


    java学习中,接口的使用(重要,常用知识点)(java 学习中的小记录)作者:王可利(Star·星星)

    接口(功能:用来添加拓展功能的

    例子:铅笔、带橡皮檫的铅笔。

    两个功能:

        1.写字......> 铅笔

        2.擦字......> 橡皮擦

    想法:定义一个铅笔类,定义一个橡皮擦类,定义一个带橡皮擦的铅笔类继承 铅笔类和橡皮擦类

    但是java是单继承的。于是就有了解决的方法:接口(可以添加拓展功能)

    如:一个铅笔类,给它添加一个接口给它一个拓展类(橡皮擦类)

    接口的定义模式

    用 interface 关键字来表示接口

    结构: interface 接口名{};

    如何实现完成接口方法:

    结构:

        class   类名  implements  接口名1,接口名2,接口名3.....{

      }

    接口的作用:

        1.可以拓展功能

        2.可以让程序解耦

           解耦:类 和 接口没有太大的关联,不实现这个接口这个类一样独立存在,如果这个类不实现这个接口,就完全不需要这些接口。

                   又好比说:一个 Student 类继承 Person类,Student 没有Person 不能独立存在。

                   所以 类 和 接口 就是一个解耦的过程,框架会经常用到。

        3.可以定于约束

            一个项目不止一个人来完成,有很多栏目。如:网易新闻 每天的头条 都会 有 增 删 改 查。每个人的方法是不一样,换一个人维护的话可能方法都变了.所以就需要定于一个大家都一样的方法来约束。规则就是一样的了。

    接口使用注意事项:

        1.接口是一个特殊的类,是可以定义属性方法的。

        2.接口里面的属性默认是用final来修饰的。实际是一个常量:public  static final int a = 10;

        3.接口里面的方法都是抽象的:abstract public void  run(){}

        4.接口是没有构造方法的。也不能创建对象。

        5.接口是给类去实现的,非抽象类实现接口时,必须将接口中的方法都实现。

        6.一个抽象类实现接口,可以不实现接口中的方法,但是继承于它的子类必须实现接口中的方法。

        7.接口和接口之间是继承关系,一个接口是可以继承多个接口的。格式和普通类一样 用  interface A  extends  B,C...

     1 package study;
     2 
     3 //定义一个擦字的接口
     4 interface Easer{
     5     //定义方法 擦字
     6     //定义在接口中的方法是不需要实现的,接口中的方法都叫抽象方法
     7     public void clear();//默认是用abstract来修饰的方法
     8 }
     9 interface Pencil{
    10     public void write();
    11 }
    12 
    13 class EraserAndPencil implements Pencil,Easer{
    14     //如果一个类实现了一个接口,那么这个类里面必须实现这个接口里面的所以方法。
    15     public void write(){
    16         System.out.println("铅笔可以写字");
    17     }
    18     //java中是可以实现多个接口的
    19     public void clear(){
    20         System.out.println("铅笔擦可以擦字");
    21     }
    22 }
    23 
    24 public class star {
    25     public static void main(String[] args) {
    26         EraserAndPencil star = new EraserAndPencil();
    27         star.write();
    28         star.clear();
    29     }
    30 }
  • 相关阅读:
    sqlite数据库的基本操作
    java-正则表达式判断移动联通电信手机号
    基金新手常识
    Android 心跳包心跳连接 如何实现android和服务器长连接呢?推送消息的原理
    java 设计模式之模板方法
    Android 自定义view实现水波纹效果
    Android中pendingIntent的深入理解
    CentOS 7.X下 -- 配置nginx正向代理支持https
    自动化运维工具saltstack04 -- 之jinja模板
    自动化运维工具saltstack03 -- 之SaltStack的数据系统
  • 原文地址:https://www.cnblogs.com/StarKL/p/6133408.html
Copyright © 2020-2023  润新知