我以前从未尝试过编写以下代码,因为它在生产中没有多大意义。但令我惊讶的是,这段代码编译成功。为什么它被设计为允许从同一类的实例上的静态方法调用私有方法?
public class Beverage {
private void drink () {
System.out.println("Beverage");
}
public static void main (String[] args) {
Beverage b = new Beverage();
b.drink(); //call to private method!
}
}