我编写了一个BeerBarrel类,但是新BeerBarrels的创建似乎不能正常工作。我真的不明白这个错误。
public class BeerBarrel extends FluidContainer{
private static int totalBarrels = 0, totalLiters = 0;
private BeerBarrel(String type, int liter) {
naming = type;
totalFluid_in_liter = liter;
totalBarrels++;
this.fluidContainerId = totalBarrels;
totalLiters += liter;
}
public void tap(int liter) {
this.totalFluid_in_liter -= liter;
totalLiters -= liter;
}
public static int getTotalBarrels() {
return totalBarrels;
}
public static int getTotalLiters() {
return totalLiters;
}
}以下是问题所在:
public void run() {
BeerBarrel bf1 = new BeerBarrel("Pils", 80);
BeerBarrel bf2 = new BeerBarrel("Alt", 100);
BeerBarrel bf3 = new BeerBarrel("Koelsch", 50);发布于 2021-04-19 00:57:06
问题是BeerBarrel中的构造函数是私有的。不能从类外部访问私有构造函数。解决方案是:
public BeerBarrel(String type, int liter) {
naming = type;
totalFluid_in_liter = liter;
totalBarrels++;
this.fluidContainerId = totalBarrels;
totalLiters += liter;
}https://stackoverflow.com/questions/67151182
复制相似问题