我的Java代码遇到了一些麻烦。 我需要字段和父类是私有的,它们必须在子类中可用。
我需要在类和字段修饰符上运行JUnite测试。 运行时的错误代码: Error PS:我试过让它们受到保护但是你可以改变字段。
可以使用一些建议。提前致谢
家长班:
package logica;
import java.util.Objects;
public class Uitgave {
private String titel;
private double prijs;
private Uitgave(String titel, double prijs){
this.titel = titel;
this.prijs = prijs;
}
子类:
package logica;
import java.util.Objects;
public class Boek extends Uitgave{
private String auteur;
private int paginas;
public Boek(String titel,String auteur, double prijs, int paginas){
super(titel,prijs);
if(titel==null || auteur==null || prijs<0 || paginas<0){
throw new IllegalArgumentException
("Controleer uw gegevens op fouten.
Prijs en aantal paginas kan niet negatief zijn,
het boek moet een titel en auteur hebben");
}
this.auteur = auteur;
this.paginas = paginas;
}
答案 0 :(得分:1)
您有2个选项。
将私人访问修饰符更改为至少受保护。但是如果你这样做,变量可以访问包内。不仅是子类(In Java, difference between default, public, protected, and private)。
在父类中为私有变量定义get方法,并在子类中使用super.getX()。