本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.概念

(1)关键字implements是一个类,实现一个接口用的关键字,它是用来实现接口中定义的抽象方法。

(2)接口在JAVA编程语言中是一个抽象类型,是抽象方法的集合。接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

2.implements和extends区别

extends, 可以实现父类,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。这样的好处是:架构师定义好接口,让工程师实现就可以了。整个项目开发效率和开发成本大大降低。

implements,实现父类,子类不可以覆盖父类的方法或者变量。即使子类定义与父类相同的变量或者函数,也会被父类取代掉。

3.实现接口的注意点

(1)接口可以被多重实现(implements),抽象类只能被单一继承(extends)

(2)接口只有定义,抽象类可以有定义和实现

(3)接口的字段定义默认为:public static final, 抽象类字段默认是”friendly”(本包可见)

4.implements实现接口实例package com.tianmushanlu.thread;

/**

* 创建步骤:

*   1. 自定义一个类实现Runnable接口。

*   2. 实现Runnable接口 的run方法,把自定义线程的任务定义在run方法上。

*   3. 创建Runnable实现类对象。

*   4. 创建Thread类 的对象,并且把Runnable实现类的对象作为实参传递。

*   5. 调用Thread对象 的start方法开启一个线程。

*

* 注意:

*       Runnable实现类的对象并 不是一个线程对象,只不过是实现了Runnable接口的对象而已。

*  只有是Thread或者是Thread的子类才是线程对象。

*

*

*

*/

class TicketWindows implements Runnable{

Integer num = 50;

@Override

public void run() {

while(true) {

synchronized ("锁对象") {

if(num > 0) {

System.out.println(Thread.currentThread().getName()+"售出了第"+num+"票");

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

num--;

}else{

System.out.println("票以售罄...........");

break;

}

}

}

}

}

public class ThreadDemo2 {

public static void main(String[] args) {

//创建了一个Runnable实现类的对象

TicketWindows TicketWindows = new TicketWindows();

Thread thread1 = new Thread(TicketWindows,"窗口1");

Thread thread2 = new Thread(TicketWindows,"窗口2");

Thread thread3 = new Thread(TicketWindows,"窗口3");

//开启3个线程售票

thread1.start();

thread2.start();

thread3.start();

}

}

以上就是implements在java中实现接口的方法,相信在经过对implements的初步了解后,大家结合之前接口的用法所学,已经能够独立使用implements实现接口了。

implements在java,implements在java中实现接口的方法相关推荐

  1. Java泛型教程–示例类,接口,方法,通配符等

    泛型是Java编程的核心功能之一,它是Java 5中引入的.如果您使用的是Java Collections ,并且版本5或更高版本,则可以肯定使用了它. 在集合类中使用泛型非常容易,但是它提供了比仅创 ...

  2. JAVA中LinkedList接口的方法

    以下内容为复制API,方便自己学习.记忆. compact1, compact2, compact3   java.util Class LinkedList<E>   java.lang ...

  3. java如何重写_java中如何重写一个方法

    方法的重写: 1.在子类中可以根据需要对从基类中继承来的方法进行重写. 2.重写的方法和被重写的方法必须具有相同方法名称.参数列表和返回类型. 3.重写方法不能使用比被重写的方法更严格的访问权限. 在 ...

  4. java同步关键字_Java中synchronized关键字修饰方法同步的用法详解

    Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问. 每一个用synchronized关键字声明的方法都是临界区.在Java中,同一个对象的临界区,在同一时间只有 ...

  5. java.equal例子_Java中的== 和equals()方法详解与实例

    Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...

  6. java securerandom使用_Java中的SecureRandom nextBytes()方法

    用户指定的随机字节数可以使用nextBytes()类java.security.SecureRandom中的方法获得.该方法需要一个参数,即一个随机字节数组,它返回用户指定的随机字节. 演示此的程序如 ...

  7. java wait 参数_java中wait()和join()方法的区别是什么

    java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...

  8. java foreach顺序_Java中的LongStream forEachOrdered()方法

    forEachOrdered()Java中的方法对此流的每个元素执行一个操作,以确保对具有定义的遇到顺序的流按遇到顺序处理每个元素. 语法如下-void forEachOrdered(LongCons ...

  9. java 结束循环_java中结束循环的方法

    java中结束循环的方法 发布时间:2020-06-25 11:31:06 来源:亿速云 阅读:180 作者:Leah 这篇文章将为大家详细讲解有关java中结束循环的方法,小编觉得挺实用的,因此分享 ...

最新文章

  1. PHP安装编译错误及解决办法
  2. mule 怎样集成外部的webservice
  3. UITableView的UITableViewStyleGrouped
  4. MYSQL中只知表名查询属于哪个SCHEMA
  5. [转]权限树中Checkbox的操作[Asp.Net2.0]
  6. 如何为Kubernetes实现原地升级
  7. Spring框架----IOC的概念和作用之工厂模式
  8. 水题 CodeForces 602C -Two Bases
  9. NOI2018 Day1 归程(Kruskal重构树)
  10. mysql innodb monitor_mysql:innodb monitor(show engine innodb status)探秘
  11. 安装bootcamp时提示“找不到$winpedriver$文件夹,请验证该文件夹是否和bootcamp处于同一文件夹内?”...
  12. 斯坦福大学深度学习公开课cs231n学习笔记(2)线性分类器及最优化
  13. 计算机操作员评分标准,计算机操作员EXCEL操作竞赛样卷与评分标准.doc
  14. Windows常用cmd命令总结
  15. Veeam BR 11 Windows Agent备份
  16. vs2017更新出错:The entire Box execution exiting with result code: 0x0
  17. Diligent将收购Steele Compliance Solutions
  18. 《抗倭英雄戚继光》 郦波
  19. 一道数学题,让芯片巨头亏了5亿美金!
  20. EasyGBS对接宇视SDK,多次点击录像回放出现崩溃是什么原因?

热门文章

  1. 怎么才能搜索查找到大鱼号作者,为啥连大鱼号作者排行榜上的作者都找不到
  2. 行为识别 Activity Recognition
  3. linux 添加mime类型,Linux MIME type
  4. 神经网络 图片展示图,神经系统知识网络图
  5. c#委托(Delegates)--基本概念及使用
  6. scp can't be established. 的问题
  7. C++ ostringstream
  8. 类型“System.Data.OracleClient.OracleParameter”在未被引用的程序集中定义。必须添加对程序集“System.Data.OracleClient, Version=
  9. 【Android智能定位手表开发】- 文章目录
  10. 用cocos2dx做一个简单的单机捕鱼达人游戏(3)