1.包
/*
Package:
1.對類文件進行分類管理
2.給類提供多層命名空間
3.寫在程序文件的第一行
4.類名的全稱是 包名.類名
5.包也是一種封裝形式
public protected default privata
同一類中 ok ok ok ok
同一包中 ok ok ok
子類中 ok ok
不同包中 ok
bao。類
import packa.Demo //導入包中的類
inport packa.* //導入包中的所有的類
導包的原則:用哪個導哪個
set 。。。 、haha.jar 將文件導成jar包
*/
2. 線程的第二種開啓方法
class Demo implements Runnable
{
public void run()
{
show();
}
public void show()
{
for (int i =0;i <=10 ;i++ )
{
System.out.println(Thread.currentThread().getName()+ x)
}
}
}
class ThreaDemo
{
public static void main(String[] args)
{
Runnable d = new Demo();
Thread t1 = new Thread(d);
t1.start();
}
}
3.同步
class Ban
{
private int sum;
private Object obj = new Object();
public synchronized void add(int sum)
{
synchronized(obj)
{sum = sum + num;
System.out.println(sum);
}
}
}
class Cus implements Runnable
{
private Ban b = new Ban();
public void run()
{
for (int i =0;i<3;i++ )
{
b.add(100);
}
}
}
class Demo
{
public static void main(String[] args)
{
Cus c = new Cus();
Thread t1 = new Thread(c);
Thread t2 = new Thread(c);
t1.start();
t2.start();
}
}
4.應用
class Ban
{
private int sum;
private Object obj = new Object();
public void add(int num)
{
synchronized(obj)
{sum = sum + num;
System.out.println(sum);
}
}
}
class Cus implements Runnable
{
private Ban b = new Ban();
public void run()
{
for (int i =0;i<3;i++ )
{
b.add(100);
}
}
}
class Demo
{
public static void main(String[] args)
{
Cus c = new Cus();
Thread t1 = new Thread(c);
Thread t2 = new Thread(c);
t1.start();
t2.start();
}
}