通俗理解JAVA接口

JAVA接口

接口(关键词: interface) ,在软件开发过程中起到规范标准的作用,所有使用接口的类必须实现其所使用接口内定义的所有方法。接口内定义的方法只能是抽象方法,抽象方法没有主体,不能再接口中实现,只能被声明。

说得很抽象?没关系,我们来看一下通俗点的解释。

  • 有如下情景,在一次会议上教育部门发布了一个任务,要求各高校尽快落实考风考纪的整改

现在把领导交代的任务看作是一个接口

public interface Task{   //领导留下的任务
    public abstract void wrok();    //整改工作
}

接口是Task 是领导留下的任务 , 里面要求做的一样工作是wok();
领导不会自己去完成该任务,只会告诉你,你的目标是什么,怎么实现需要看个人喜好。

领导的任务可以被不同的相关对象接受,譬如老师 学校 学生,实际上犯罪分子也可以接受这个任务,但不具有实际意义。

class Teacher implements Task{   //--老师接受任务
    public void wrok(){          //--接受任务后必须实现的方法
        /*老师方法的实现,譬如开班会*/
    }       
}

class Student implements Task{   //--学生接受了任务
    public void wrok(){
        /*学生方法的实现 ,还是暗地里作弊*/
    }
}

简单地说

  • 接口可以看成是一个任务,该任务有它自己的一个标准,所有接受该任务的对象必须完成该任务所要求的所有方法,怎么实现由任务的接受者来决定。

接口的特点

1. 接口是一系列方法的声明。 
ps:一系列方法(要求实现)的集合可以看作是一个任务。

2.接口的方法只有声明,全是抽象方法,没有具体实现
ps:任务只说明目的,具体怎么实现只能是使用接口的类来决定

3.接口可以在不同地方被不同类实现,实现有不同行为
ps: 每个对象完成任务的方法都不同

4.接口不能被继承,只能被实现,接口没有构造器。
 ps: 接口不能被实例化,所以没有构造器。  

6.一个类只能继承一个类,但可以实现多个接口
ps:爸爸只能有一个,但是可以有无数个任务

5.接口可以继承其它接口,类似于类的继承

实际应用
接口 interface Runable 与抽象类 class Thread与之间的关系,与Runable的使用如何用实现Runable接口来创建新线程

//接口Runable
interface Runable{   
     public abstract void run();   
}


/*线程类Thread实现Runable接口,
*必须有run方法,
*run里面的是该线程要做的事
*而创建线程是Thread要干的事,与Runable无关*/
public class Thread implements Runable{
//.........省略
    public Thread(Runnable target) {   //构造方法
         init(null, target, "Thread-" + nextThreadNum(), 0);
     }

//.......省略
    public void run() {    
     if (target != null) {
         target.run();
      }
}

   Runable 的使用方法是,让一个类实现Runable接口,然后用这个对象作为参数传递给Thread ,由Thread来创建线程并调用传入的对象target的run方法    。

   其实Runable给你的任务就是让你告诉Thread,你要新建一个线程来执行什么命令。命令你写在run里面,其余事情就交给Thread吧。

声明:

  • 本文只能作为参考,不同人有不同的理解,其中文字是JAVA接口概念和个人思维的翻译产物,与现实肯定会存在差距。不求能让大家完全弄懂,只求能稍微帮助到大家理解。

  • 本文有任何不足和错误欢迎指正。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值