Java interfaces - hvorfor kun public metoder?
Hejsa, et spørgsmål vedrørende java-interfaces.Jeg arbejder med en større java application, hvor jeg har delt de forskellige dele op i packages.
mit application-layer bruger bl.a. objekterne i mit modellayer.
i modellayer har jeg defineret et interface der beskriver hvilke metoder objekterne i den package skal tilbyde udaftil...de skal naturligvis være public.
i modellayer vil jeg også gerne definere et interface som beskriver hvilke metoder objekterne skal tilbyde internt i pakken, altså metoder der ikke kan tilgås udefra! det er straks sværere da man ikke kan lade være med at angive access modifier (som er package visibility) på de metoder der er defineret i dette interface! dvs.man kan godt compilere interfacet med metoder uden access modifier, men ikke de objekter der implementerer interfacet.
dvs nedenstående give fejl.
interface I_packageInternal
{
void doSomething();
}
public class someObject implements I_packageInternal, etc
{
void doSomething()
{
}
}
Java-teorien siger også at det ikke kan lade sig gøre, så mit spørgsmål er simpelthen....hvorfor (?!) og er der en løsning? for det ville være meget nyttigt i mit tilfælde!
Mvh Mathias
