Erste Schritte Wie wende ich "Klassen" in Java an?

lonelywanderer

Mitglied
Hallo liebe Leute 🙂,

Ich habe angefangen, Java zu lernen. Natürlich beschäftige Ich mich vor allem mit den ersten Schritten.

Unter anderem muss man natürlich Klassen kennenlernen. Verstanden und angewendet habe Ich schon "import". Außerdem habe Ich gelernt, dass Klassen eine Art "Blaupause" für Objekte sind. Es ergeben sich 2 Fragen:

1. Dass eine Klasse in eine extra Datei mit dem gleichen Namen geschrieben werden muss, habe Ich schon verstanden. Jetzt stellt sich mir aber die Frage, wie importiere Ich diese in meine "Haupt"-.java-Datei? Ich habe irgendwas mit "package" gelesen. Muss man die irgendwie abändern, bevor das geht?

2. Der Sinn einer "objektorientieren Programmiersprache" ist mir auch klar. Wenn Klassen die Vorlage für Objekte sind, müsste Ich die Objekte doch folgendermaßen einfügen, oder?:
Java:
xyz = new <Objektname>;
Zumindest lief' das bei den Objekten aus eingebundenen Bibliotheken (?) immer so. Ich habe zum Beispiel schon
Java:
Random rand = new Random;
gehabt. Hier heißt das Objekt "rand", soweit ist es klar, aber woher kommt das erste "Random"? Es scheint ja eine Art Variable zu sein, aber welche schreibe Ich bei eigenen Objekten?

Es wäre wirklich toll, wenn Ihr mir helfen könntet, damit ich in meinem Tutorial vorankomme 🙂.

Liebe Grüße

Marcel
 
Zuletzt bearbeitet:
Also zu 1:
Jede Klasse existiert irgendwie in einem Package. Das stellt dabei eine hierarchische Struktur dar. Lass uns mal das Beispiel Listen nehmen:
Das Interface "List" ist im Package java.util. Um von deinem Programm darauf zugreifen zu können musst du entweder:
- das package importieren (import java.util.* oder java.util.List).
- Oder du verwendest es als direkten Import :
Java:
Java.util.List myList = new <insert list implementation>();

Der Sinn von Packages ist zum einen die Möglichkeit Zugriffsrechte zu verwalten. So hast du denn mit Klassen, die als Public deklariert werden, kein Problem die überall zu verwenden. Auf Private Klassen jedoch kannst du jedoch nur im selben Package zugreifen.
https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

Java:
    Random rand = new Random;
Erzeugt ein neues Random Objekt und weißt es einer variable vom Typ Random zu. Ließ dir nochmal Variablen Deklaration an, das sollte helfen. Variablen sind in Java immer typisiert, das heißt jede Variable hat einen festen Typ der darin gespeichert werden kann. Diesen musst du auch zwingend angeben.
 
1. Dass eine Klasse in eine extra Datei mit dem gleichen Namen geschrieben werden muss, habe Ich schon verstanden. Jetzt stellt sich mir aber die Frage, wie importiere Ich diese in meine "Haupt"-.java-Datei? Ich habe irgendwas mit "package" gelesen. Muss man die irgendwie abändern, bevor das geht?
wenn du die Klassen in Unterverzeichnisse in deinem Source verzeichnis liegen hast dann musst du, dass in deiner Klasse als Package angeben.. ganz oben zb package unterverzeichnis.service1;

Zumindest lief' das bei den Objekten aus eingebundenen Bibliotheken (?) immer so.
mit spizen klammern? nein..
Klasse object = new Klasse();
bzw Klasse object = new Klasse(parameter1, parameter2);
die <> kommen von generics... ignorier das mal...

aber woher kommt das erste "Random"? Es scheint ja eine Art Variable zu sein, aber welche schreibe Ich bei eigenen Objekten?
nein keine Variable.. das ist der Klassen Name..

Wenn du Klassen aus anderen Paketen benutzt, musst du sie mit import angeben, gewisse Standard Pakete muss man nicht angeben...
 
Zuletzt bearbeitet:
Erstmal danke für die Antworten!

Ich fürchte aber, dass das meine Frage, was die Klassen angeht, noch nicht ganz beantwortet.

Also: Die Geschichte mit den packages wie Java.util.List usw., habe ich auch schon angewendet. Aber wenn ich eigene Klassen schreibe (die nicht in einem Unterverzeichnis, sondern ganz normal im Ordner src/ liegen), wie importiere ich diese dann? import <myclass> funktioniert nicht. Ich möchte einfach etwas wie, ganz banal gesagt, import C:\...\class.java. Wahrscheinlich funktioniert es komplett anders, aber ich hoffe ihr versteht so, was ich genau meine.
 
Ich habe jetzt folgendes geschrieben (was auch nicht funktioniert).

Das ist die Main.java-Datei:

Java:
public class Main {
	
	
	public static void main(String[] args) {
		
		secound secound = new secound();
		
		System.out.println("Hallo Welt!");
		
		
		
	}
	
	
}

Und das ist die andere Datei:

Java:
public class secound {
	int nummer = 2;
}

Die Zweite heißt auch secound.java. Ich wollte also die Klasse "secound" einbauen und es funktionierte nicht. Ich fürchte, dass ich einfach zu blöd bin :/.

Fehler von Eclipse: The value of the local variable secound is not used.
 
Zuletzt bearbeitet:
Damit hat es geklappt:

main.java

Java:
public class Main {
	
	
	public static void main(String[] args) {
		
		secound secound = new secound();
		
		System.out.println("Hallo Welt!");
		
		int test = secound.testvariable;
		
		System.out.println(test);
		
	}
	
	
}

secound.java

Java:
public class secound {
	int testvariable = 2;
}

Vielen, vielen Dank!
 

Neue Themen


Zurück
Oben