zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    【转】Intellij IDEA常用配置详解
    scala(一)
    scala(三)
    Scrapy学习篇(六)之Selector选择器
    Scrapy学习篇(五)之Spiders
    Scrapy学习篇(四)之数据存储
    Scrapy学习篇(三)之创建项目
    Scrapy学习篇(二)之常用命令行工具
    Scrapy学习篇(一)之框架
    git实现github仓库和本地仓库同步
  • 原文地址:https://www.cnblogs.com/StarKL/p/6133408.html
Copyright © 2011-2022 走看看