Ich habe eine Schnittstelle und 2 Klassen, die diese Schnittstelle implementieren. Siehe den folgenden Code als Beispiel.Geschützte Methode in der Schnittstelle
addAchievedMilestone ist eine Methode, die in jeder Klasse implementiert werden muss, aber nur von einer Klasse im selben Paket ausgeführt werden kann.
Warum kann die Methode addAchievedMilestone nicht geschützt werden?
Ich möchte es geschützt werden, so dass es nur von Klassen in dem gleichen Paket verwendet werden kann. (Die Methode wird von keiner anderen Klasse erweitert)
Aber der Modifikator in der Projektklasse muss immer öffentlich sein, wie kann ich das lösen?
Beispielcode:
package Base;
public interface MilestoneAchievable {
public Milestone getMaxMilestone();
void addAchievedMilestone(Milestone m) throws Exception;
}
Projektklasse:
package Base;
public class Project implements MilestoneAchievable{
public Milestone getMaxMilestone() {
//implementation goes here
}
public void addAchievedMilestone(Milestone m) throws Exception
{
//implementation goes here
}
}
im Code der Projektklasse implementiert nicht MilestoneAchievable Schnittstelle – zeugor
vergessen, jetzt ist es :) – Programmer1994