JAVA学习笔记(三十七)- 创建继承Thread的线程

创建继承Thread的线程

/*
 * 创建线程方式一:继承自Thread
 * 步骤:
 * 1.自定义类,继承自Thread类
 * 2.重写run()方法
 * 3.创建类的实例,即创建一个线程
 * 4.调用线程的start()方法,作用:启动线程、调用run()方法
 *
 *
 * Thread的run方法,用于存储线程要执行的代码,必须重写此方法
 * 启动线程时会自动调用此方法
 */
class Demo extends Thread{

    @Override
    public void run() {
        for(int i=1;i<=50;i++){
            System.out.println("*****run*******"+i);
        }
    }
}

public class Test01 {
    public static void main(String[] args) {
        Demo demo=new Demo();//创建一个线程
        demo.start();//启动线程并执行该线程的run方法
        //demo.run();仅仅是调用对象的方法,线程虽然创建了,但并未启动

        for(int i=1;i<=50;i++){
            System.out.println("*****Hello World*******"+i);
        }
    }
}

创建两个线程

/*
 *  创建两个线程
 *
 * 线程默认名称
 * 自定义线程:Thread-编号,从0开始
 * 主线程:main
 *
 * 查看线程名称
 * getName()
 * Thread.currentThread() 获取当前线程实例
 *
 * 设置线程名称
 * 通过构造方法、
 *
 */
class MyThread extends Thread {

    public MyThread(String name){
        super(name);
    }

    @Override
    public void run() {
        System.out.println(Thread.currentThread()==this);
        for (int i = 1; i <= 50; i++) {
            //System.out.println(getName()+"*****run*******" + i);
            System.out.println(Thread.currentThread().getName()+"*****run*******" + i);
        }
    }
}

public class Test02 {
    public static void main(String[] args) {
        // 创建两个线程并启动
        MyThread t1 = new MyThread("线程一");
        MyThread t2 = new MyThread("线程二");
        t1.setName("first");
        t1.start();
        t2.start();

        Thread thread=Thread.currentThread();//获取当前线程实例
        for (int i = 1; i <= 50; i++) {
            System.out.println(thread.getName()+"*****Hello World*******" + i);
        }
    }
}
时间: 2024-10-11 12:37:54

JAVA学习笔记(三十七)- 创建继承Thread的线程的相关文章

【Unity 3D】学习笔记三十七:物理引擎——碰撞与休眠

碰撞与休眠 上一篇笔记说过,当给予游戏对象刚体这个组件以后,那么这个组件将存在碰撞的可能性.一旦刚体开始运动,那么系统方法便会监视刚体的碰撞状态.一般刚体的碰撞分为三种:进入碰撞,碰撞中,和碰撞结束.关于休眠可以理解成为让游戏对象变成静止状态.如果给某个游戏对象休眠的状态,那么这个物体将立马静止,不再运动. 碰撞 首先学习下碰撞几个重要的方法: OnCollisionEnter(  ):刚体开始接触的时候,立即调用. OnCollisionStay(  ):碰撞过程中,每帧都会调用此方法,直到撞

疯狂Java学习笔记(83)----------继承详解

有一段时间没有更新博客了,感觉挺愧疚的,这两天忙着考试,实在没有办法,只能放一放了,还好自己复习的还不错,闲的没事,跟两篇博文,来能弥补一下空虚! 言归正传! 什么是继承? 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 多个类可以称为子类,单独这个类称为父类.超类或者基类. 子类可以直接访问父类中的非私有的属性和行为. 通过 extends 关键字让类与类之间产生继承关系. class SubDemo extends Dem

JAVA学习笔记(三十八)- 创建实现Runnable接口的线程

创建实现Runnable接口的线程 /* * 创建线程方式二:实现Runnable接口 * 步骤: * 1.创建一个Runnable接口的实现类 * 2.实现run方法 * 3.创建一个实现类的实例 * 4.创建Thread实例,将实现类的实例作为参数传入 * 5.调用start方法,启动线程并运行run方法 */ class MyDemo implements Runnable{ @Override public void run() { for (int i = 1; i <= 50; i+

Java学习笔记(九)&mdash;&mdash;继承

一.继承 1.概念: 继承是类于类之间的关系,是一种"is a "的关系 Ps: Java是单继承 2.优势: (1)子类直接拥有父类的所有属性和方法(除了privata) (2)实现代码复用 3.语法规则: 4.一个demo (1)动物类 package com.cnblogs; public class Animal { public int age; public String name; public void eat() { System.out.println("

JAVA学习笔记(三十五)- 随机读写文件 RandomAccessFile

RandomAccessFile类 /* * RandomAccessFile类,随机读写文件 * * 数据分段要有规律,每段大小相等,可以将每段数据设置为较大的值,足以存在每一个段的数据 * */ public class Test04 { public static void main(String[] args) throws IOException { //writeFile(); readFile(); } // 写入数据 public static void writeFile()

Effictive Java学习笔记1:创建和销毁对象

建议1:考虑用静态工厂方法代替构造器 理由:1)静态方法有名字啊,更容易懂和理解.构造方法重载容易让人混淆,并不是好主意 2)静态工厂方法可以不必每次调用时都创建一个新对象,而公共构造函数每次调用都会创建一个对象实例.就可以预先创建好对象嘛,从而能避免创建不可重复的对象. 静态工厂方法能为重复的调用返回相同对象. 缺点:如果类没有构造函数,就不能被子类化了,子类的super()就没法用了 建议2:遇到多个构造器参数时,考虑采用构建器 理由:重叠构造函数形式,构造函数重载. 当遇到很多构造器参数的

JAVA学习第三十七课(常用对象API)- 集合框架(五)— Set集合:TreeSet集合

一.LinkedHashSet集合 HashSet下有子类LinkedHashSet API文档关于LinkedHashSet的解释: 具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现.此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表.此链接列表定义了迭代顺序,即按照将元素插入到 set 中的顺序(插入顺序)进行迭代.注意,插入顺序不 受在 set 中重新插入的 元素的影响.(如果在 s.contains(e) 返回 true 后立即调用 s.add(

JAVA学习笔记(四十七)- 事件监听

定义ActionListener接口的实现类实现事件监听 import java.awt.Button; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; /* * 事件监听 */ public class Te

黑马程序员——JAVA学习笔记三(面向对象)

1,    面向对象设计程序(oriented object pragraming)  ,其程序是有对象组成,只要对象能满足要求,就不需要关心其功能的具体实现.面向对象的特征:封装(encapsulation)继承(inherence)多态(polymorphism). 2,    类是对事物的属性和行为的描述,构造对象的模板和蓝图.对象是类的实例,它具有三个特征:行为(behavior)状态(state) 对象标示(identity如何辨别具有相同状态和行为的对象).成员函数默认有一个隐含参数