我有一个带有非抽象方法的抽象类。我想知道这些非抽象方法是否默认是线程安全的?
为了让问题更清楚,这里有一个例子
public abstract Class Animal {
private List foo;
non abstract method survive() {
//bla bla bla
foo++;
foo = foo * 2
foo = nul
//bla bla bla
}
abstract method eat();
abstract method sleep();
}
public class Cat extends Animal {
eat();
sleep();
}
public class Dog extends Animal {
eat();
sleep();
}
//etc etc
如果 Cat 和 Dog 都想同时生存,Java 会默认处理它吗?或者我应该使 Animal.survive() 方法同步?