复习篇 接口 和今天老师讲的多线程
接口
1. 为什么使用接口?
比如防盗门,他有两个大的特性,一个是开门,关门。一个是上锁,一个是开锁。但是他即有门,也有锁。但是他不能同时继承们的特性和锁的特性。因为java只支持单继承。不能同时继承两个父类,所以这个时候就出现了接口。
防盗门可以继承门的特性然后去实现锁的接口。
2. 什么是接口?
在软件中,接口是一种规范和标准。它可以约束类的行为。接口可以看作是一个特殊的“抽象类”。接口中可以定义常量但不能定义变量。因为接口中的属性都是全局静态常量。
接口中的所有方法都是抽象方法。接口不能实例化,也不能有构造函数。一个接口可以继承多个接口,但接口不能继承类。
3. 一个简单的接口演示。。。 关键字可能写错了没改。。
接口的优点:接口不仅弥补了java单继承的缺点,还利于代码的扩展和维护。
多线程
老师给我们讲的,我在过一遍。
什么是进程:一个执行在cpu的服务。就比如我们用的qq什么的软件。
什么是线程:是进程的最小单位,一个进程由多个线程组成。
什么是多线程:比如我们聊天可以开多个窗口和多个人聊天,在cpu内部是线程运行的。开多个窗口用大家的肉眼来看以为是多个线程一起执行。但其实不是,只是咱们的肉眼看不清楚,线程执行的太快了,以为是一起执行。其实是多个线程去抢占cpu的资源,比如cpu在0.001秒的时候分配了一块资源那个线程先抢到先去执行。
什么是线程池:存储线程的池子。
线程分为:用户线程 ,守护线程。 用户线程是我们定义的,去执行线程的。守护线程是可以为用户线程提供帮助的,在用户线程执行完之后守护线程自动销毁。
thread类继承自ruable实现ruable底层的run()方法,start()方法是属于thread类的。
线程分为:
新生状态:实例化的时候
就绪状态:执行start()方法的时候
运行状态:执行run()方法的时候
堵塞状态:出行的异常。 堵塞状态分为很多种。
死亡状态:程序运行完。