刚学java,帮忙解释下段代码,谢谢!

图片

就是给类的属性设值,其他没什么好解释

Container容器

comp组件

addComponent添加一个comp组件的方法

Component类

myContainer容器

Component给容器赋值的方法

给容器添加组件,以及在组件中记录它位于哪个容器中

像这种代码很有意思:相互嵌套定义,可以说你中有我,我中有你。容器中存放组件,组件记录容器~进一步还可以看看Java swing的内容哦~

1、Component类拥有一个成员属性:Container myContainer,并且构造Component类的时候需要传入一个Container对象c,让myContainer引用c。

2、Container类拥有一个成员属性:Component comp,并且提供了一个方法addComponent()来实构造comp;由1可知,构造comp需要需要传入一个Container对象,而addComponent()是Container的成员方法,所以this代表当前的Container对象,所以调用addComponent(this)即可。

刚学Java不懂这两段代码帮忙解析一下
package d;

public class SellTickt {public static void main(String[] args) {

SellTicktDemo std = new SellTicktDemo();

Thread t1 = new Thread(std,"售票窗口1");
Thread t2 = new Thread(std,"售票窗口2");
Thread t3 = new Thread(std,"售票窗口3");
Thread t4 = new Thread(std,"售票窗口4");

t1.start();
t2.start();
t3.start();
t4.start();

}

}

package d;

public class SellTicktDemo implements Runnable{ private int total = 100;

private int no = total+1;

private Object obj = new Object();

public void run() {

while(true){
synchronized(this.obj){
if(this.total > 0){
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
String msg = Thread.currentThread().getName()+" 售出第 "+(this.no -this.total) +" 张票";
System.out.println(msg);
this.total--;
}else{
System.out.println("票已售完,请下次再来!");
System.exit(0);
}
}
}

}

}