【发布时间】:2025-12-14 21:00:02
【问题描述】:
我的 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;
}
【问题讨论】:
-
您在构造函数中缺少右括号。
-
在我看来,字段的可见性应该始终是私有的。如果您愿意,可以在父类中添加受保护的 getter 方法。我们仍然不知道问题是什么哈哈
-
我将如何在子类中使用该方法?就像:父类:private void getTitel(){return title;子类:在构造函数中方法:this.titel=titel.getTitel();要不然是啥? :)
-
我真的不明白你是怎么遇到这个问题的。您只需将 'private' 替换为 'protected'。而已。另外,不要像 Tin 所说的那样做,这会使你的代码变得非常混乱。
-
Joachim,解释一下你的程序有什么问题。我们都在黑暗中,试图猜测你的问题是什么。
标签: java