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();
}
}