public class SynchronizationExtends {
public static void main(String args[]) {
Child c = new Child();
Thread t = new Thread(c);
t.start();
c.test2();
}
}class Father {
int i;
public synchronized void test1() {
i += 100;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(i);
}
}class Child extends Father implements Runnable{

public synchronized void test2() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(i);
}

@Override
public void run() {
this.test1();
}
}
这样打印结果是0,100
但是将父类中方法test1去掉synchronized关键字,打印结果是100,100
这是不是体现锁的互斥性,那为什么说synchronized不能继承呢?