不同类组合起来的类中,成员类中的方法中如何访问类中另一个成员变量?

yak 发布于 04/12 17:43
阅读 33
收藏 0
class A {
   
   private    ThreadX  x
   private    ThreadY y
   public  int b 
   

}   
   
   class ThreadX extends Thread {
       public void fucntion run(){
         这里怎么访问 b
       }
   }

threadX中的方法中并没有class A的实例,这个class A 是外部程序调用的,只能由外部程序实例化, 如果在ThreadX的构造函数中把B传参下去 threadX中的方法中修改b的值,并不会更新 class A中的b

加载中
0
tcxu
tcxu
import java.lang.Thread;
class A {
   
   private    ThreadX  x;
   private    ThreadY y;
   public  int b; 
}   

class ThreadY extends Thread {
       public void run(){
		new A().b = 2;        
       }
   }
   
   class ThreadX extends Thread {
       public void run(){
       	A a = new A();
		a.b = 1;
		System.out.println(a.b);        
       }
   }
   
public class NewTest{
	public static void main(String args[]){
	new ThreadX().start();
	}
}

输出:1 

0
重城重楼
重城重楼
两个方法 1是Threadx(int b)的构造器加int b 2是使用ThreadLocal<Integer>保存变量b供Threadx用 ps:inheritThreadLocal可以使子线程获取父线程的变量
返回顶部
顶部