Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo liebes Java Forum,
ich bin gerade am verzweifeln, weil ich nicht verstehe, wie ich die deklarierten Felder/instanzenvariablen in einer anderen klasse nutzen soll.
Über Hilfe würde ich mich sehr freuen. (Ich weiß, dass ich dafür keine 2 Klassen erstellen muss, würde aber gerne lernen, wie es geht.)
Vielen Dank schonmal im Voraus
ein Beginner
das ist die eine klasse:
Java:
package unternehmen;
public class informationene {
public static String name;
public static double Umsatz;
public static String adresse;[URL='https://www.java-forum.org/account/'] [/URL]
public static double Gewinn;
}
die darin enthaltenen Felder sollen da genutzt werden nur wie? :
Java:
package unternehmen;
import java.util.Scanner;
public class Unternehmen {
public static void main(String[] args) {
Unternehmen XYZ = new Unternehmen();
Unternehmen Mno = new Unternehmen();
System.out.println("Beispiel für die Darstellung des Unternehmens: ");
Mno.name = "jojo-fun";
Mno.Umsatz = 1000000.00;
Mno.adresse = "Berliner Straße 3";
Mno.Gewinn = 300000;
int money = 300000;
System.out.println(Mno.name);
System.out.println("("+Mno.adresse + ")");
if (money<=0) {
System.out.println("Es handelt sich um ein gmeinnütziges Unternehmen.");
}
else {
System.out.println("Es handelt sich um ein gewinnorierntiertes Unternehmen.");
}
System.out.println();
System.out.println("geben Sie den Namen Ihres Unternehmens ein:");
Scanner scambe = new Scanner(System.in);
XYZ.name = scambe.next();
System.out.println("geben Sie die Adresse Ihres Unternehmens ein:");
XYZ.adresse = scambe.next();
int keepon = scambe.nextInt();
System.out.println("geben Sie den Gewinn Ihres Unternehmens ein:");
XYZ.Gewinn = scambe.nextInt();
System.out.println("Name des Unternehmens: " + XYZ.name ) ;
System.out.println("Adresse des Unternehmens: "+ XYZ.adresse + " " + keepon);
if (XYZ.Gewinn <=0) {
System.out.println("Danke für Ihren Dienst an der Allgemeinheit");
}
else {
System.out.println("viel spaß mit Ihrem Gewinn");
}
scambe.close();
}
Vorab: in Java gibt es Benennungskonventionen, an die sollte man sich halten. Man schreibt Bezeichner von Klassen (und anderen Typen) in UpperCamelCase, Namen von Methoden, Variablen und Parametern dagegen in lowerCamelCase.
Mal ein verkürztes Beispiel:
Java:
package unternehmen;
public class Informationen {
private double umsatz;
public void erhoeheUmsatz(double wert) {
umsatz += wert;
}
public double ermittleUmsatz() {
return umsatz;
}
}
Das lässt sich nun folgendermaßen nutzen:
Java:
Informationen info = new Informationen();
info.erhoeheUmsatz(50);
info.erhoeheUmsatz(150);
System.out.println(info.ermittleUmsatz());
Die Variable umsatz ist private, um sie vor willkürlichem Zugriff von "außen" (also durch andere Objekte) zu schützen. Der Zugriff muss also über die Methoden erfolgen. BTW: Der Name der Klasse ist nicht besonders aussagekräftig, denn "Informationen" kann ja nun alles mögliche bedeuten.