Funktionen/Atrribute nur innerhalb einer package Zugänglich machen

Hi Leute,

mir war so das es in Java möglich war, das man bestimmte Funktionen/Attribute nur innerhalb einer package zugänglich gemacht werden kann. Ich habe zwar schon gegoogelt, bin allerdings nicht viel weiter gekommen. Weis einer von euch ob so etwas möglich ist unter java und wenn ja wie?
 
public bedeutet dass es allgemein verwendbar ist.
protected bedeutet dass es sichtbar ist, sobald man davon erbt.
default (oder nichts) bedeutet dass es nur im package sichtbar ist.
private heißt nur in der Klasse selbst.

also z.B.

Java:
public class Test {

void doTest();

}
 
public bedeutet dass es allgemein verwendbar ist.
protected bedeutet dass es sichtbar ist, sobald man davon erbt.
default (oder nichts) bedeutet dass es nur im package sichtbar ist.
private heißt nur in der Klasse selbst.

also z.B.

Java:
public class Test {

void doTest();

}

Jep die sind mir schon klar, nur diese schützen nicht davor das die Funktion wirklich nur innerhalb einer package zugänglich gemacht werden kann. Denn ich könnte wenn die Klasse im package a.b.c drin steht im package x.y.z instanzieren und innerhalb von diesem Package die Funktion aufrufen. Dieses soll aber gerad verhindert werden.
 
Moin,

har har har :lol: :lol:
Ok, da war Google wirklich mal seeehe schnell ...
Dann eben der zweite Beitrag
Galileo Computing :: Java ist auch eine Insel - 5 Eigene Klassen schreiben
Das Stichwort, was suchst, heißt private !!

Außerdem hat anti-held doch schon alles erklärt ...

Gruß
Klaus

[EDIT]
Vielleicht nochmal zur Verdeutlichung:
Java:
public class Test
{
    private int Wert1;     
    // ...
    void doTest();
}
Wenn Du nun irgendwo anders ein Objekt dieser Klasse instantiierst, dann kannst Du zwar über das Objekt auf die Funktion "doTest" zugreifen, aber NICHT auf den Wert "Wert1". Es würde eine Meldung vom Compiler kommen, das hierfür die Sichtbarkeit geändert werden müsste !!!
[/EDIT]
 
Zuletzt bearbeitet:
😉 Erstmal recht herzlichen Dank für eure Hilfe VFL Freak und anti-held.

Ich glaub ich hab mich etwas missverständlich ausgedrückt, oder ich verstehe es noch nicht so ganz.
Also hier nochmal mein konkretes Problem:

Ich habe zwei Klassen in package a.b.c:

Klasse A
Klasse B

Und eine Klasse in Package in x.y.z:

Klasse Z


Klasse A, da es in der gleichen package liegt wie Klasse B, darf auf die Eigenschaften von Klasse B zugreifen. Klasse Z, da es in einer völlig anderen Package liegt, darf dieses nicht. Also im Prinzip eine Sichtbarkeit auf package Ebene.

Danke für eure Hilfe!
 
😉 Erstmal recht herzlichen Dank für eure Hilfe VFL Freak und anti-held.

Ich glaub ich hab mich etwas missverständlich ausgedrückt, oder ich verstehe es noch nicht so ganz.
Also hier nochmal mein konkretes Problem:

Ich habe zwei Klassen in package a.b.c:

Klasse A
Klasse B

Und eine Klasse in Package in x.y.z:

Klasse Z


Klasse A, da es in der gleichen package liegt wie Klasse B, darf auf die Eigenschaften von Klasse B zugreifen. Klasse Z, da es in einer völlig anderen Package liegt, darf dieses nicht. Also im Prinzip eine Sichtbarkeit auf package Ebene.

Danke für eure Hilfe!

PS: Hat sich glaub ich erledigt!
 
Schau mal hier:
java-member-access-levels1.png

Quelle:
Java member access levels ? public, protected, private | A Web Coding Blog
 
Zuletzt bearbeitet:

Zurück
Oben