implements在java,implements在java中实现接口的方法
本教程操作环境: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中实现接口的方法相关推荐
- Java泛型教程–示例类,接口,方法,通配符等
泛型是Java编程的核心功能之一,它是Java 5中引入的.如果您使用的是Java Collections ,并且版本5或更高版本,则可以肯定使用了它. 在集合类中使用泛型非常容易,但是它提供了比仅创 ...
- JAVA中LinkedList接口的方法
以下内容为复制API,方便自己学习.记忆. compact1, compact2, compact3 java.util Class LinkedList<E> java.lang ...
- java如何重写_java中如何重写一个方法
方法的重写: 1.在子类中可以根据需要对从基类中继承来的方法进行重写. 2.重写的方法和被重写的方法必须具有相同方法名称.参数列表和返回类型. 3.重写方法不能使用比被重写的方法更严格的访问权限. 在 ...
- java同步关键字_Java中synchronized关键字修饰方法同步的用法详解
Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问. 每一个用synchronized关键字声明的方法都是临界区.在Java中,同一个对象的临界区,在同一时间只有 ...
- java.equal例子_Java中的== 和equals()方法详解与实例
Java中的== 和equals()方法: Java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型. byte,short,char,int,long,float,double,boo ...
- java securerandom使用_Java中的SecureRandom nextBytes()方法
用户指定的随机字节数可以使用nextBytes()类java.security.SecureRandom中的方法获得.该方法需要一个参数,即一个随机字节数组,它返回用户指定的随机字节. 演示此的程序如 ...
- java wait 参数_java中wait()和join()方法的区别是什么
java中wait()和join()方法的区别是:存在不同的java包中:wait()方法用于线程间通信,它所施加的等待状态的线程可以被启动:join()方法用于在多个线程之间添加排序,它所施加的等待 ...
- java foreach顺序_Java中的LongStream forEachOrdered()方法
forEachOrdered()Java中的方法对此流的每个元素执行一个操作,以确保对具有定义的遇到顺序的流按遇到顺序处理每个元素. 语法如下-void forEachOrdered(LongCons ...
- java 结束循环_java中结束循环的方法
java中结束循环的方法 发布时间:2020-06-25 11:31:06 来源:亿速云 阅读:180 作者:Leah 这篇文章将为大家详细讲解有关java中结束循环的方法,小编觉得挺实用的,因此分享 ...
最新文章
- PHP安装编译错误及解决办法
- mule 怎样集成外部的webservice
- UITableView的UITableViewStyleGrouped
- MYSQL中只知表名查询属于哪个SCHEMA
- [转]权限树中Checkbox的操作[Asp.Net2.0]
- 如何为Kubernetes实现原地升级
- Spring框架----IOC的概念和作用之工厂模式
- 水题 CodeForces 602C -Two Bases
- NOI2018 Day1 归程(Kruskal重构树)
- mysql innodb monitor_mysql:innodb monitor(show engine innodb status)探秘
- 安装bootcamp时提示“找不到$winpedriver$文件夹,请验证该文件夹是否和bootcamp处于同一文件夹内?”...
- 斯坦福大学深度学习公开课cs231n学习笔记(2)线性分类器及最优化
- 计算机操作员评分标准,计算机操作员EXCEL操作竞赛样卷与评分标准.doc
- Windows常用cmd命令总结
- Veeam BR 11 Windows Agent备份
- vs2017更新出错:The entire Box execution exiting with result code: 0x0
- Diligent将收购Steele Compliance Solutions
- 《抗倭英雄戚继光》 郦波
- 一道数学题,让芯片巨头亏了5亿美金!
- EasyGBS对接宇视SDK,多次点击录像回放出现崩溃是什么原因?
热门文章
- 怎么才能搜索查找到大鱼号作者,为啥连大鱼号作者排行榜上的作者都找不到
- 行为识别 Activity Recognition
- linux 添加mime类型,Linux MIME type
- 神经网络 图片展示图,神经系统知识网络图
- c#委托(Delegates)--基本概念及使用
- scp can't be established. 的问题
- C++ ostringstream
- 类型“System.Data.OracleClient.OracleParameter”在未被引用的程序集中定义。必须添加对程序集“System.Data.OracleClient, Version=
- 【Android智能定位手表开发】- 文章目录
- 用cocos2dx做一个简单的单机捕鱼达人游戏(3)