Java第九天

创建线程的第一种方式:继承Thread类

创建线程的第二种方式:实现Runnable接口

1.定义类实现Runnable接口。

2.覆盖接口中的run方法,将线程的任务代码封装到run方法中。

3.通过Thread类创建线程对象,并将Runnable接口的子类对象作为Thread类中的构造函数的参数进行传递。

为什么?因为线程的任务都封装在Runnable接口子类对象的run方法中。所以要在线程对象创建时就必须明确要运行的任务。

4.调用线程对象的start方法开启线程。

实现Runnable接口的好处:

1.将线程的任务从线程的子类中分离出来,进行了单独的封装。按照面向对象的思想将任务封装成对象。

2.避免了java单继承的局限性。

时间: 2024-12-15 15:32:58

Java第九天的相关文章

再回首Java第九天

final方法 1 final 修饰的方法不能被重写,有些时候,不希望子类重写父类的方法,可以使用final关键字修饰.private修饰的方法只能在本类中被重写,即使在子类中定义一个与其一模一样的方法也不能被称之为重写,只能算是定义了一个新的方法.因此即使在父类中定义了一个private final修饰的方法,在子类中依然能够定义一个与其一模一样的方法. 虽然final修饰的方法不能被重写但是可以被重载

Java基础学习第九天

作业说明: 1.一共100个馒头,40个工人,每个工人最多能吃3个馒头.使用多线程输出所有工人吃馒头的情况. --------------------------------------------- 多线程中的串行化机制 synchronized class MantouDemo{ public static void main(String[] args){ //定义一个篮子馒头对象 Basket basket = new Basket(); //定义40个工作对象 for (int i =

Java基础--第十九天

异常分类: Exception       RuntimeException 非运行时期异常     运行时期异常 自定义异常 IO流: Java中的io流是用来处理不同设备间的输入输出问题的 io流操作的类都在io包中: io流分类: 流向分: 输入流   读取数据 输出流     写入数据 按操作数据不同: 字节流 字符流 File类: 构造方法 常见方法: 创建: createNewFile():当文件不存在时,创建文件 当没有给出指定路径时,以当前项目路径为文件创建路径. 相对路径和绝对

java基础--第九天

继承 单继承/多层继承--super关键字 实例应用 this/super使用对比 方法的复写[复写与重载的关系] 子父类的构造方法调用顺序 父类私有变量的使用 final关键字 1:继承 (1)把多个类中的相同的属性和行为进行抽取,封装到一个类中, 然后再建立新类的时候,不需要从头做起,继承刚才定义的那个类即可. (2)好处: A:提高代码的复用性. B:让类与类之间产生了一个关系,是多态的前提. (3)什么时候使用继承? A:如果类之间存在着: is a 的关系,就可以考虑使用继承.类之间存

No_16_0229 Java基础学习第九天

文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.02.29 lutianfei none final 关键字多态多态概述多态的分类:多态中的成员访问特点:多态中的转型问题抽象类抽象类概述抽象类特点抽象类的成员特点抽象类的几个小问题接口接口概述接口特点接口成员特点类与类,类与接口以及接口与接口的关系抽象类和接口的区别 final 关键字 final关键字是最终的意思,可以修饰类,成员变量,成员方法. 特点: 修饰的类,类不能被继承 修饰的变量,变量就变成了常量,只能被

java面试第九天

图形界面: 布局管理器: CardLayout:卡片布局,面板重叠放置,只能看到一个,最先添加的会被显示出来,可以进行翻动 两种构造方法: CardLayout() 创建一个间隙大小为 0 的新卡片布局. CardLayout(int hgap, int vgap) 创建一个具有指定的水平和垂直间隙的新卡片布局. 常用的方法: previous(Container parent) 翻转到指定容器的前一张卡片. show(Container parent, String name) 翻转到已添加到

java分享第十九天(TestNg的IReporter接口的使用)

IReporter接口是干嘛的?就是让用户自定义报告的,很多人想要自定义报告,于是乎找各种插件,比如什么testng-xslt啊,reportng啊,各种配置,最后出来的结果,还不能定制化,但为什么不能自已定制一份呢?testng的IReporter接口就接供了这样的功能,我们只需要实现这个接口,并加上监听,就能拿到所有的信息了,你可以把这些信息存数据库,或者自已生成一个html,亦或者写在EXCEL里啊等等,都可以,下面给出IReporter接口的实现方式: package com.demo;

[java自学第九天]

集合类的区别 List集合类与Map集合类的区别:是否有键值(List集合类无键值,Map集合类有键值) 键:能唯一标识某一事物的值 键值是为了唯一标识某一事物而单独添加的属性,一定不要用事务本身的属性来做键值 ArrayList类和Vector类的区别与HashSet类和HashMap类的区别一样 ArrayList类和HashSet类都是线程异步的,线程异步的限制不能实现网络实时性的要求,必须是自己和自己,单机的行为才可以,具有效率高但是安全性偏低. Vector类和HashMap类都是线程

大数据JAVA基础第九天

1.JavaBean的特点: private 成员属性 public成员方法 有get/set方法对成员变量进行赋值/取值 有空构造方法 符合这些条件的称为标准的JavaBean. 2.构造方法(也叫构造器) 构造方法(也叫构造器)是一种特殊的方法,定义的位置是在类中,成员方法外,和成员变量,成员方法是平级关系,定义构造方法和定义一般的成员方法很像,它的特点是与类同名,但是没有返回值,其语法格式如下: [修饰符] 构造方法名(形参列表){ //零到多条可执行语句组成构造方法的执行体 } 3.构造