Private int in Klasse

Hallo ihr Lieben,

kaum ist die Semesterpause um, schon ist das Hirn formatiert. Ich bin am verzweifeln...

ich soll in der Klasse selber einen Radius r mit dem Modifikator private erstellen. Das habe ich gemacht. Danach soll ich mit einem Standardkonstruktor darauf zugreifen. Auch das hat wohl geklappt... zumindestens habe ich unten in der Main-Methode newCircle(2) erstellt und mit println r ausgeben lassen und es wird eine 2 gedruckt. Ich soll aber jetzt mit setValue und getValue den Radiuswert ändern. Außerdem mit show die Werte Radius, Umfang und Fläche zurückgeben... wie übergebe ich denn nun einen Wert z.B. an Area oder Circumference?

Ich verstehe nicht wieso Radius Private sein muss... und warum ich Set und Get und den ganzen Schmarrn brauche... über Scanner könnte man viel schöner den Radius eingeben und ich könnts auf die Konsole ausrechnen lassen... aber das ist leider nicht die Aufgabe...

Ich hoffe ihr könnt mir helfen.

Lieben Gruß

Code:
public class Circle {

   private static int r = 0;
   public static double pi = 3.14159;
   
   public Circle (int r) {this.r=r;}
   
   public double circumference (double pi, int r) {
       
       double circumference;
       circumference = 2 * pi * r;
       return circumference;
   }
   
   public double area (double pi, int r) {
       
       double area;
       area = r * pi * r;
       return area;
   }
   
   public static void main(String[] args) {
       
       Circle kreis = new Circle(2);
       
       System.out.println(r);
       
       
       
   }

}
 

CSHW89

Bekanntes Mitglied
Weißt du, was 'static' bei einer Variable heißt? Sie existiert nur ein einziges Mal. Was passiert nun, wenn du ein zweiten Kreis mit Radius 3 erstellt? Beide Kreise haben nun den Radius 3. Das ist sicherlich nicht Sinn der Sache. Also: 'static' bei 'r' weg, dann brauchst du 'r' auch nicht als Parameter bei 'circumference' und 'area'.

PS: 'pi' brauchst du auch nicht als Parameter, da du darauf Zugriff hast in den Methoden.
 

Robat

Top Contributor
Moin,
der "Schmarrn" nennt sich Encapsulation und ist neben Inheritance, Polymorphism und Abstraction eines der 4 Grundprinzipien von OOP.
Der Grundgedanke dahinter ist Attribute einer Klasse vor anderen Klassen "zu verstecken", sodass sie nur noch über die Methoden (bspw Getter und Setter) angesprochen und verändert werden können.

Das ganze hat den Hintergrund, dass du dadurch Variablen read-only oder write-only machen kannst - mit einem Attribut das "public" ist kannst du das nicht umsetzen.
Desweiteren hat dadurch die Klasse allein die Kontrolle darüber was in ihren Attributen gespeichert wird.

Als kleines Beispiel kann man deinen Radius nehmen, der ja nicht negativ sein sollte.
Über einen Setter kannst du so ganz leicht implementieren, dass wenn der Radius negativ ist bspw. eine Exception geworfen wird.
 

Robat

Top Contributor
Ich würde einfach mal in den Raum werfen, dass circumference und area auch Instanzvariablen der Circle-Klasse sein sollten und auch nicht jedes mal neu über eine Methode berechnet werden müssen.. PI ist eine Konstante und der Radius ist auch ein Attribut eines Kreise und muss somit nicht übergeben werden.

So lässt sich dann deine show-Methode einfacher implementieren, da du ja über das Objekt auf die Attribute zugreifen kannst und somit nichts übergeben musst.

Wie ist denn die genaue Aufgabenstellung dazu?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Warum kann ich, auf private Variablen zugreifen, wenn ich ein Objekt in der Klasse, die private Variablen hat erstelle und dort drauf zugreifen will? Java Basics - Anfänger-Themen 7
J Klasse wird als private erkannt obwohl sie public deklariert ist Java Basics - Anfänger-Themen 3
shiroX Klassen Klasse/Methode private final jUnit-Fehler Java Basics - Anfänger-Themen 5
A Private Attribut aus fremder Klasse lesen ? Java Basics - Anfänger-Themen 19
B Kapselung Klasse private, Konstruktor protected Java Basics - Anfänger-Themen 10
G Zugriff auf private Variablen einer inneren Klasse Java Basics - Anfänger-Themen 5
N private variable vom typ einer klasse Java Basics - Anfänger-Themen 20
A in abstract Klasse private Variablen Java Basics - Anfänger-Themen 3
R Klasse nicht sichtbar(kein private-Fehler) Java Basics - Anfänger-Themen 2
R Private Klasse in Applet nutzen? Java Basics - Anfänger-Themen 9
G private methode wird aus anderer klasse aufgerufen? Java Basics - Anfänger-Themen 3
megachucky wie bekomm ich ein private attribut aus einer andren klasse? Java Basics - Anfänger-Themen 18
M Private Variable Java Basics - Anfänger-Themen 2
Gaudimagspam Attribute einfügen private Java Basics - Anfänger-Themen 3
N JUnit und private Methoden testen. Java Basics - Anfänger-Themen 9
Z private Klassenvariablen Java Basics - Anfänger-Themen 8
H Vererbung mit private instanzvariablen Java Basics - Anfänger-Themen 9
C Methoden Vererbung private Attribute/public Methoden Java Basics - Anfänger-Themen 4
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5
N Instanzvariablen als private... Java Basics - Anfänger-Themen 2
P Methoden private int[] in main Java Basics - Anfänger-Themen 16
A Klassen Werte in den private Bereich übergeben Java Basics - Anfänger-Themen 5
C Collections: private Map Java Basics - Anfänger-Themen 4
M Wie private Methoden mit Asserstions testen? Java Basics - Anfänger-Themen 3
M Verständnisfrage zu JUnit Tests und private Methoden Java Basics - Anfänger-Themen 3
D Klassenvariablen standardmäßig private oder public? Java Basics - Anfänger-Themen 2
W private Array Loops Java Basics - Anfänger-Themen 4
B public/private nur 1x schreiben Java Basics - Anfänger-Themen 3
H Privat ist nicht mehr private Java Basics - Anfänger-Themen 7
J Vererbung Zugriff auf private Variable Java Basics - Anfänger-Themen 10
A Variablen lokale Variable als private? Java Basics - Anfänger-Themen 3
A private string array Java Basics - Anfänger-Themen 5
B auf private Variable durch eine Methode zugreifen Java Basics - Anfänger-Themen 8
J Probleme mit verschiedenen Private Klassen Java Basics - Anfänger-Themen 3
T public-private problem Java Basics - Anfänger-Themen 5
C Comparator und private Variablen Java Basics - Anfänger-Themen 7
K Methoden als private deklarieren? Java Basics - Anfänger-Themen 13
K Protected und Private Deklaration Java Basics - Anfänger-Themen 8
F Im Konstruktor mit Settern auf private Attribute zugreifen - oder nicht? Java Basics - Anfänger-Themen 18
H NEtBeans: Fehler: XXX has private access... Java Basics - Anfänger-Themen 2
K Kapselung public / private verständis problem Java Basics - Anfänger-Themen 17
E einfache Frage zu private Java Basics - Anfänger-Themen 26
N public class -> public method -> variable private? Java Basics - Anfänger-Themen 10
W Private Methode variablen übergeben..?! WIE! Java Basics - Anfänger-Themen 30
K OOP Datenkapselung mittels private - length Attribut bei Array Java Basics - Anfänger-Themen 3
L Private Methode in Subklasse? Java Basics - Anfänger-Themen 2
S Private Class Problem Java Basics - Anfänger-Themen 17
K Kann man Private-Konstruktoren doch aurufen? Java Basics - Anfänger-Themen 8
Luk10 Vererben von private instanzvariablen Java Basics - Anfänger-Themen 20
P zugriff auf private variablen Java Basics - Anfänger-Themen 5
A Allgemeine Frage zur Sichtbarkeit "private" Java Basics - Anfänger-Themen 5
berliner Klassen Vererbung und Zugriff auf innere private Variable Java Basics - Anfänger-Themen 22
G field public/private wann Java Basics - Anfänger-Themen 11
Spin private Frage Java Basics - Anfänger-Themen 16
G Private Messages versenden Java Basics - Anfänger-Themen 13
S Zugriffe über Private Instanzvariablen Java Basics - Anfänger-Themen 3
J Public / Private Keys speichern bzw. lesen? Java Basics - Anfänger-Themen 8
R Private Methoden von auserhalb aufrufen Java Basics - Anfänger-Themen 2
G GUI Controls private oder public Java Basics - Anfänger-Themen 6
G Variablen public oder private? Java Basics - Anfänger-Themen 9
P Private Klassen Java Basics - Anfänger-Themen 4
F Frage zur Vererbung und Zugriffmodifikator private Java Basics - Anfänger-Themen 3
S private public Java Basics - Anfänger-Themen 5
R private / public Frage Java Basics - Anfänger-Themen 7
S private String text; -> "Illegal start of expression Java Basics - Anfänger-Themen 7
G Public ,private,protected Java Basics - Anfänger-Themen 1
B Instanzvariablen private? Java Basics - Anfänger-Themen 5
M Sichtbarkeit von private Java Basics - Anfänger-Themen 2
A public/private/etc. Zusatz weglassen Java Basics - Anfänger-Themen 2
M OOP frage, private variablen default-wert zuweisen sinnvoll? Java Basics - Anfänger-Themen 5
M [SOLVED]private Daten head - neues objekt? Java Basics - Anfänger-Themen 12
H Vererbung:private Java Basics - Anfänger-Themen 7
U public, private, protected und "default access" - Java Basics - Anfänger-Themen 14
T private final String oder final String? Was ist richtig? Java Basics - Anfänger-Themen 4
M Jede Variable als private, protected etc. deklarieren? Java Basics - Anfänger-Themen 7
U was macht "private" ? :) Java Basics - Anfänger-Themen 7
H private anstatt public Java Basics - Anfänger-Themen 2
H public und private Java Basics - Anfänger-Themen 5
A Public/Private und wie importieren? Java Basics - Anfänger-Themen 13
I @Inject in normaler Klasse? Java Basics - Anfänger-Themen 4
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Klassen Klasse als Komponententyp bei Feldern Java Basics - Anfänger-Themen 2
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
T Meine Klasse wird nicht gefunden Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
frager2345 Optional Klasse Java Java Basics - Anfänger-Themen 2
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45

Ähnliche Java Themen

Neue Themen


Oben