假设定义了一个A类,这个A类中有一个Jtextarea B, 定义的新线程为C。现在开启了主线程,在开启C线程,这个C线程就是相对主线程当中的B进行操作
你可以在线程中构造方法里,传入Object对象,这样你的run方法就可以对Object也就是传过来的对象进行操作(先强转)
描述的内容有点歧义,不易理解 重新描述一下
可以这样的?还能这样操作么
线程的构造方法定义一个对象类型的参数,执行线程时可以获取到对应的对象属性和方法
你可以在线程中构造方法里,传入Object对象,这样你的run方法就可以对Object也就是传过来的对象进行操作
开启线程,都是在run()方法中运行的,在C类中继承Thread或者runnable接口,重写run()方法,调用业务逻辑
写代码不一定要按照这样那样的规则来(自己写的玩就更随便了),只要满足你的需求就行,一个线程想要操作一个对象必定是要拿到这个对象,可以用构造传参数的方式,也就是在自己定义的线程类中定义个属性,new的时候赋值,就能拿到了。
要是有很多对象你要在这个线程中处理,直接写个变量类要用的对象全扔进去,线程拿到这个对象里边的数据还不是随便拿。
总之一个要点就是要拿到要处理的对象的指针,怎么拿方法有N种。
B定义成A中的全局变量不就可以操作了吗,代码都写在A类中
Jtextarea B 定义为静态的,直接现在线程中 new A 在操作 B 就可以了。多线程要考虑锁