runable怎么获取线程名字getname和setname

线程与Runnable对象交互
该博客探讨了Java中如何创建并启动线程,通过Runnable接口实现任务执行。示例展示了Thread构造函数使用Runnable对象,并调用getName()和Thread.currentThread().getName()方法获取线程信息。
    public static void main(String[] args) throws InterruptedException {

        Runnable same=new CheckSame();
        Thread t=new Thread(same,"ssss");
        t.getName();
        t.start();
    }

    @Override
    public void run() {
       getName();//Thread
       Thread.currentThread().getName();//runnable
    }

实验题:动物世界简单模拟 实验目标:通过设计动物类及其子类,理解类、对象、继承、接口、方法重写异常处理的基础用法。 代码书写要求:所有代码写在一个java文件里面。 一、基础类设计:Animal 类(父类) 1. 属性(验证访问修饰符): ◦ private String name(名字,私有) ◦ protected int age(年龄,受保护) ◦ String type(种类,默认权限,如 “哺乳动物”) 1. 构造方法(验证重载): ◦ 无参构造:public Animal(),打印 “Animal 无参构造” ◦ 带参构造:public Animal(String name, int age),给 name age 赋值,打印 “Animal (名字,年龄) 构造” 2. 方法: ◦ public String getName():返回 name(因 name 是 private,必须用 getter) ◦ public void setAge(int age):设置年龄,若 age < 0 则抛出 IllegalArgumentException,提示 “年龄不能为负数” ◦ public void eat():打印 “[名字] 在吃东西” 二、子类设计(验证继承与重写) 2.1 Dog 类(继承 Animal) • 定义:public class Dog extends Animal • 新增方法:public void bark(),打印 “[名字] 在汪汪叫” • 重写 eat():打印 “[名字] 在吃骨头” 2.2 Cat 类(继承 Animal) • 定义:public class Cat extends Animal • 新增方法:public void meow(),打印 “[名字] 在喵喵叫” • 重写 eat():打印 “[名字] 在吃鱼” 三、接口设计(验证接口实现) 接口 Runable: • 定义:public interface Runable { void run(); } • 让 Dog Cat 都实现该接口,重写 run(): ◦ Dog 的 run():打印 “小狗 [名字] 在跑” ◦ Cat 的 run():打印 “小猫 [名字] 在跑” 四、重写 Object 类方法 在 Dog Cat 中重写: 1. toString():返回 “动物类型:[种类],名字:[名字]”(例如 “动物类型:哺乳动物,名字:旺财”) 2. equals(Object obj):若两个对象的 name 相同则返回 true,否则 false 五、测试类 Test(验证所有功能) 在 main 方法中做以下操作,每步打印结果: 1. 创建对象: ◦ Dog dog = new Dog();调用 dog 的带参构造(用 super 调用父类构造) ◦ Cat cat = new Cat("咪咪", 2) 3. 访问属性方法: ◦ 用 dog.getName() 获取名字,调用 dog.bark()、dog.eat()、dog.run() ◦ 直接访问 cat.age(因 age 是 protected,子类可直接用) 4. 验证重写接口: ◦ 打印 dog.toString() cat.toString() ◦ 创建另一只同名小狗 Dog dog2 = new Dog("旺财", 3),用 dog.equals(dog2) 验证结果 5. 异常处理: ◦ 尝试 cat.setAge(-1),用 try-catch 捕获异常并打印提示 验证点覆盖: • 类与对象:Animal、Dog、Cat 的定义实例化 • 访问修饰符:private(name 需 getter)、protected(age 子类可直接用)、默认(type) • 继承:extends 关键字,子类复用父类属性方法 • 构造方法:父类 / 子类的重载,super 调用父类构造 • 接口:Runable 接口实现 “多重继承” 效果 • 方法重写:eat()、run()、toString()、equals() 的重写 • 异常:IllegalArgumentException 的抛出与捕获 确认代码是否满足以上要求
最新发布
10-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值