java 在一个类中定义一个线程,这个线程可以对着各类中的对象进行操作

假设定义了一个A类,这个A类中有一个Jtextarea B, 定义的新线程为C。现在开启了主线程,在开启C线程,这个C线程就是相对主线程当中的B进行操作

9个回答

你可以在线程中构造方法里,传入Object对象,这样你的run方法就可以对Object也就是传过来的对象进行操作(先强转)

描述的内容有点歧义,不易理解 重新描述一下

stockhold110119
stockhold110119 楼上正解
2 年多之前 回复
superhjr
superhjr 假设定义了一个A类,这个A类中有一个Jtextarea B, 定义的新线程为C。现在开启了主线程,在开启C线程,这个C线程就是相对主线程当中的B进行操作
2 年多之前 回复

可以这样的?还能这样操作么

线程的构造方法定义一个对象类型的参数,执行线程时可以获取到对应的对象属性和方法

你可以在线程中构造方法里,传入Object对象,这样你的run方法就可以对Object也就是传过来的对象进行操作

superhjr
superhjr 是在定义run方法的时候吗?
2 年多之前 回复

开启线程,都是在run()方法中运行的,在C类中继承Thread或者runnable接口,重写run()方法,调用业务逻辑

写代码不一定要按照这样那样的规则来(自己写的玩就更随便了),只要满足你的需求就行,一个线程想要操作一个对象必定是要拿到这个对象,可以用构造传参数的方式,也就是在自己定义的线程类中定义个属性,new的时候赋值,就能拿到了。
要是有很多对象你要在这个线程中处理,直接写个变量类要用的对象全扔进去,线程拿到这个对象里边的数据还不是随便拿。
总之一个要点就是要拿到要处理的对象的指针,怎么拿方法有N种。

B定义成A中的全局变量不就可以操作了吗,代码都写在A类中

Jtextarea B 定义为静态的,直接现在线程中 new A 在操作 B 就可以了。多线程要考虑锁

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐