Fragen zu Java (Informatik)?

... komplette Frage anzeigen

10 Antworten

Unterschied zwischen public/private

Auf public kann von Außen zugegriffen werden, d.h. wenn jemand eine Instanz der Klasse hat, kann er die Methode aufrufen bzw. die Variable nutzen.

Bei priviate können nur Methoden dieser Klasse darauf zugreifen.

Daneben gibt es noch protected, hier können auch die Methoden der Abgeleiteten Klassen zugreifen.

Unterschied zwischen globaler und lokaler Variable


Eine lokale Variable ist nur innerhalb des lexikalischen Scopes sichtbar. z.B. kann in einer Methode eine lokale Variable definiert werden, die dann nur in dieser Methode zugegriffen werden kann und nur so lange existiert wie die Methode ausgeführt wird.
In Java gibt es keine globalen Variablen wie etwa in C, sondern nur statische Attribute. Diese Variablen bzw Attribute existieren so mehr oder weniger über die gesammte Programmdauer. (Genauer gesagt solange die Klasse als solche geladen ist.)

Daneben gibt es noch Attribute, die nicht statisch sind, also zu einer Instanz der Klasse gehören.

Unterschied zwischen Methode mit "void" und Methode mit "int"-Attribut

Methoden haben keine Attribute, sondern Parameter und Rückgabewerte. Bei einer void Methode als Rückgabewert wird kein Wert zurückgeliefert, bei einer int Methode wird am Ende der Methode ein int Wert an den Aufrufer geliefert. Dieser kann den Wert natürlich auch ignorieren.



Antwort bewerten Vielen Dank für Deine Bewertung

Public kannst du aus anderen klassen aufrufen, private nur aus der Klasse in der die Variable/Methode liegt.

Globale Variablen sind statisch und können von überall aufgerufen werden mit MeineKlasse.meineVariable. Lokale Variablen sind Variablen die in einer Methode liegen und auch nur dort genutzt werden.

void gibt nichts zurück , int eine Zahl. Also wenn du eine Methore int rechne() hast gibt die Methode am ende eine ausgerechnete Zahl dahin zurück wo du sie aufgerufen hast. Void gibt quasi nichts zurück. Dies wird zb gemacht wenn in der methode nur System.out.println() gemacht wird und keine rechenoperation.

Antwort bewerten Vielen Dank für Deine Bewertung

public class Program {
public String a = "Ich bin erreichbar";
private String b = "Ich nicht";
}

Program test = new Program();
System.out.println(test.a); // "Ich bin erreichbar"
System.out.println(test.b); // Fehler...
// selbsterklärend... // public = öffentlich // private = privat, mit Anmerkung, nur die eigene // Klasse kann draf zugreifen
------
// Eine Variable ist global, wenn sie überall // erreichbar ist
String global = "Global Erreichbar";
public class ProgramA { // eine lokale Variable ist nur in seiner Scope // verfügbar, in dem Fall die Klasse // "ProgramA"
String lokalA = "Lokal Erreichbar";

public void global() {
System.out.println( global ); } public void lokal() { System.out.println( lokalA );
}
}

public class ProgramB {
public void global() { System.out.println( global ); } public void lokal() { System.out.println( lokalA ); }
} ProgramA a = new ProgramA(); ProgramB b = new ProgramB(); a.global(); // "Global Erreichbar" a.lokal(); // "Lokal Erreichbar" b.global(); // "Global Erreichbar" b.lokal(); // Fehler... ------ // Vor einer Methode gibst du immer an, welchen // Rückgabewerttypen er zurückgeben soll // void gibt nix zurück.. // int heißt nur, dass es eine Ganzzahl ist, // die zurückgegeben wird public class Ausgabe { public void gibNixZurueck() { return; } public int gibMirNeZahl() { return 1234; } } Ausgabe a = new Ausgabe(); System.out.println( a.gibNixZurueck() ); // Fehler... System.out.println( a.gibMirNeZahl() ); // 1234



Antwort bewerten Vielen Dank für Deine Bewertung

Unterschied zwischen public/private

Das nennt man Zugriffsmodifier. public ist dafür da um eine Klasse auch ausserhalb des Pakets sichtbar zu machen, bzw. eine Methode auch nach aussen sichtbar zu machen.

Mit private-Klassen kannst du nur im package arbeiten. Private Methoden siehst du nur klassenintern!

Unterschied zwischen globaler und lokaler Variable

Globale Variablen gibt es bei Java nicht, weil der Grundaufbau Klassenorientiert ist. Es gibt höchstens klasseninterne Variablen. Die kann man klassenintern überall mit this referenzieren. Anders ist das mit lokalen Variablen. Die sind nur innerhalb einer Methode/Konstruktor gültig und sind nach Aussen nicht sichtbar.

Unterschied zwischen Methode mit "void" und Methode mit "int"-Attribut

Void's haben keinen Rückgabewert. Das sind einfach nur "mach-was"-Methoden. Int-Methoden geben dir dagegen einen Integer (Ganzzahl) zurück. Zum Beispiel, weil man was berechnet lassen hat.

PS: mal ganz ehrlich....hättest du das in der Javadoc nicht selbst finden können? Das steht doch überall!

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von FelixCrafting
21.04.2016, 13:23

Private Klassen sieht man nirgens, wenn man sie nur im Paket sehen will nutzt man pakage. (Korrigiere mich bitte wenn ich falsch bin)

0

Auf public kann von außen zugegriffen werden, deswegen ist z.B. die main Methode public, damit die JVM drauf zugreifen kann, privat ist halt nicht von außen zugänglich.

Void bedeutet ohne Rückgabewerte, heißt wenn du die Methode aufrufst bekommst du keinen Wert zurück.
Bei Int kriegst du halt nen Int zurück.

Antwort bewerten Vielen Dank für Deine Bewertung

Public heißt das jede Methode diese Methode sehen und benutzen kann (öffentlich)\\und private ist geschützt also kann nicht verwendet oder gesehen werden.

Antwort bewerten Vielen Dank für Deine Bewertung

Eine globale variable kannst du nur in dieser klasse/methode verwenden... Wenn du sie in einer anderen klasse verwendest hat sie keinen wert bzw existiert nicht.
Hingegen eine globale variable kannst du überall in deinen programm verwenden.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von laftesu
20.04.2016, 21:52

Void benutzt du bei methoden, es bedeitet dass es einen rückgabe wert gibt der dir an den ort gespeichert wird, wo du die methode aufrufst...
Int wert = methodeausfuehren();
Nun hat die variable wert den rückgabewert der methode...

Wenn du mit int arbeitest, berechnet er dir zwar den wert, aber verarbeitet ihn dann nicht weiter, du kannst diesen wert aber trotzdem zurückgeben indem du einfach
out wert;
Schreibst

0

Unterschied zwischen public/private

Variablen oder Methoden die als private deklariert sind sind nur für Methoden derselben Klasse sichtbar und ansprechbar/aufrufbar.

als public definierte Variablen oder Methoden können von beliebigen anderen Klassen aus verwendet werden.

Darüberhinaus gibt es auch "protected"  - die können von Klassen angesprochen werden die zum gleichen package gehören wie die Klasse in der sie vereinbart wurden.

Unterschied zwischen globaler und lokaler Variable

Das ist ein bisschen unklar weil es globale Variablen in Java streng genommen nicht gibt.

In Java gibt es drei Arten:

static Variable - existieren einmal pro Klasse 

member Variable - existieren für jedes Objekt der Klasse. Hört ein Objekt auf zu existieren ist auch die entsprechende Membervariable bzw deren Wert verloren.

Sowohl static als auch member-Variablen kann man wiederum als public,protected oder private definieren

lokale Variable - werden innerhalb einer Methode definiert und verlieren ihren Wert(und sind nicht mehr sichtbar) wenn die Methode bzw. genauer der Block in dem sie definiert wurden verlassen wird und sind auch nur innerhalb des jeweiligen Blocks sichtbar.

Unterschied zwischen Methode mit "void" und Methode mit "int"-Attribut

Manche Methode liefern einen Rückgabewert .z.B. Math.min(int a,int b)

liefert den kleineren der beiden Werte a und b zuirück - und hat entsprechend den Rückgabetyp int

Andere Methoden liefern nichts zurück sondern führen eben nur eine bestimmte Aktion durch - die haben dann den Rückgabewert void was nichts anderes bedeutet das sie nichts zurückgegeben.
Hat man z.B. eine Methode  beep()  welche einen Piepton ausgibt dann kann die nichts sinnvolles als Wert zurückliefern und man würde sie mit void definieren-
Würde man folgendes programmieren:

int x=beep();

würde der Compiler meckern weil beep() keinen Wert liefert den man x zuweisen könnte....

Antwort bewerten Vielen Dank für Deine Bewertung

Beim 3. Das void bedeutet das der Rückgabewert nichts ist und int eben ein Integer

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ikinikin
20.04.2016, 21:45

Globale Variablen sind von von überall zugänglich und lokal eben nur von dort wi sie ist

0

Globale Variablen kannst du mit static deklarieren.

Antwort bewerten Vielen Dank für Deine Bewertung