Java - java.lang

blumenpeter

Aktives Mitglied
Hallo Leute,

ich muss für die Schule ein Vortrag halten, über "die fundamentalen Klassen von java.lang".
Zur Zeuit habe ich folgende Klassen im Vortrag eingebunden:

die Klasse „Object“
die Klasse „Class“
die Klasse „Math“
die Klasse „Number“
die Klasse „String“
die Klasse „System“


meint ihr(wie ich), dass das die wichtigsten sind, oder habt ihr noch ande Vorschläge?

Gruß
blumenpeter
 

KrokoDiehl

Top Contributor
Definiere "fundamental" ... das ist sicher Ansichtssache. Auch die Klassen der simplen Datentypen wie Integer, Boolean, Long etc. könnte man dazunehmen.
Dann natürlich noch die Ausnahmen wie NullPointerException.
Eigentlich könnte man fast alle als "fundamental" bezeichnen ;)

Wenn du eine Übersicht brauchst, die Java SE API bietet da eine.
 

Landei

Top Contributor
Das ist natürlich sehr subjektiv. Thread bildet die Basis für parallele Programmierung. Enum ist die Superklasse aller enums, Throwable das Superinterface aller Ausnahmen. Runtime bzw. Process erlauben z.B., andere Programme aufzurufen.

Andererseits kann man sich auch auf den "Typsystem"-Standpunkt stellen, und nur Object, Class (und vielleicht noch System und ClassLoader) als fundamental ansehen.

Generell denke ich aber, deine Auswahl ist vertretbar.
 

blumenpeter

Aktives Mitglied
Achso okay, dann versuche ich snoch ein paar Klassen mehr aufzunehmen(Vortrag darf nur 10-15 minuten dauern)

Aber eine Frage zu den Datentypen habe ich noch, und zwar gibt es im Java.lang Package die Klasse "number", aber auch die Klassen "Integer, Double". in welchen dieser Klassen sind die Datentypen nun enthalten?

also mein(bsp):

"private double zaehler;"

weil in Klasse Number, sowie in Klasse double wird davon gesprochen
 

Haave

Top Contributor
Nach welchen Kriterien suchst du die Klassen denn aus? Die sind nämlich alle irgendwie ziemlich wichtig ;)

Klasse Object ist so gesehen überaus wichtig, weil sie die "Mutter" aller Klassen ist (auch von Klasse Class, auch wenn es seltsam wirkt). Klasse Class ist relativ speziell und läuft eher auf einer Metaebene (Aus der API: "Instances of the class Class represent classes and interfaces in a running Java application."), von daher würde ich sie für die Praxis als nicht so wichtig betrachten. System.out.print() bzw. […].println() hingegen gehören wohl zu den am häufigsten benutzten Methoden überhaupt ^^ Math kann man auch für die verschiedensten Situationen gebrauchen, ist also auch ziemlich praxisrelevant. String wird ebenfalls ständig gebraucht, schätze ich. Number ist die Mutterklasse von den Wrapper-Klassen Integer, Double, Float etc., mit denen man beim Autoboxing in Berührung kommt, aber mit der Mutterklasse selbst hat man in der Praxis wohl eher wenig zu tun.

Für erwähnenswert halte ich noch die Klasse Thread, da man um die nicht herumkommt, wenn man mehrere Dinge gleichzeitig tun lassen will.

Naja, denk einfach mal darüber nach, wie du deine Prioritäten setzen willst, und frag ggf. nochmal nach :)


EDIT: Zu langsam ^^'
 

blumenpeter

Aktives Mitglied
Number ist die Mutterklasse von den Wrapper-Klassen Integer, Double, Float etc

damit hast mu mir aber meine andere Frage beantwortet :p


Danke euch allen!

Werde dann mal schauen ob ich das alles nun noch in meine räsentation quetschen kann


wenn ich weitere Fragen habe, dann melde ich mich wieder.

Gruß
blumenpeter
 

Sonecc

Gesperrter Benutzer
Kleiner Tipp:
Es gibt bei der Auswahl vermutlich kein richtig oder falsch.
Viel wichtiger wird sein, wie gut du die Klassen beschreibst und nach welchen Kriterien du sie ausgesucht hast. 20 Klassen in eine 10-15 Minuten Präsentation wird dabei eher einen negativen Effekt haben. Nimm lieber weniger Klassen, die du dir gut überlegt ausgesucht hast (ohne Anstoss von außen), begründe deine Auswahl gut und beschreibe gut. Dann wird das ganze schon gehen.
 

blumenpeter

Aktives Mitglied
Hallo nochmal,

ich belese mich gerade über "Strings" und habe folgenden absatz gefunden:

String literals

In Java code, the String literals are kept in a memory pool for efficient use.
If you construct two Strings using the same String literal without the new keyword, then
only one String object is created. For instance:

String s1 = "hello";
String s2 = "hello";

Here, both s1 and s2 point to the same String object in memory. As we said above,
String objects are immutable. So if we attempt to modify s1, a new modified String is
created. The original String referred to by s2, however, remains unchanged.

kann mir jemand den Inhalt mal verdeutlichen? Ich kann zwar englisch(auch nicht sooo gut) aber ich verstehe es einfach nicht ...

Gruß
blumenpeter
 

Haave

Top Contributor
Auch wenn Strings in Java Objekte sind, ist dieser Pool, von dem in dem Zitierten die Rede ist, eine kleine Besonderheit von Strings.
Normalerweise erzeugst du Objekte ja so:
Java:
Object o = new Object();

Bei Strings gibt es hingegen zwei Möglichkeiten:
Java:
String str1 = "hallöchen";
String str2 = new String("grüezi");

Intern (d.h., wie die JVM / der Compiler damit umgeht) besteht jedoch ein Unterschied zwischen den beiden Möglichkeiten. Schau dir folgendes Codestück an:

Java:
public class Stringkram {
    
    public static void main(String[] args) {
        String s1 = "hello";
        String s2 = "hello";
        System.out.println(s1.equals(s2));
        System.out.println(s1 == s2);
        
        String s3 = new String("hello");
        String s4 = new String("hello");
        System.out.println(s3.equals(s4));
        System.out.println(s3 == s4);
    }
}
Ausgabe:
Code:
true
true
true
false

Erklärung:
Bei s1 und s2, wo der
Code:
new
-Operator nicht verwendet wurde, wird in dem o.g. Pool nur ein einziges Mal die Zeichenkette "hello" abgelegt. Wenn s2 erzeugt wird, sieht der Compiler, dass es den "hello"-String schon gibt, und weist ihn s2 zu, erzeugt aber keinen neuen "hello"-String im Pool. Deshalb kommt sowohl bei der equals()-Methode als auch beim ==-Vergleichsoperator
Code:
true
raus (equals() vergleicht Strings inhaltlich,
Code:
==
nur die Referenzen).
Bei s3 und s4 hingegen werden tatsächlich zwei verschiedene "hello" im Pool abgelegt, s3 zeigt auf das eine, s4 auf das andere. Deshalb kommt zwar beim inhaltlichen Vergleich mit equals()
Code:
true
raus, weil ja bei beiden Zeichenketten das gleiche drin steht, nicht aber beim ==-Operator, da die Referenzen auf unterschiedliche Objekte zeigen.
 

blumenpeter

Aktives Mitglied
Hi nochmal,

ich bin schon ein ganzes Stück weiter, nur jetzt hackt es wieder an meinem Englisch skills ...


Wrapper classes correspond to the primitive data types in the Java language. These classes
represent the primitive values as objects. All the wrapper classes except Character have
two constructors -- one that takes the primitive value and another that takes the String
representation of the value. For instance:

Integer i1 = new Integer(50);
Integer i2 = new Integer("50");

The Character class constructor takes a char type element as an argument:

Character c = new Character('A');

kann mir jemand das Inhaltlich erläutern ?

Sagt das einfach das ich einen Integer Typ mit beiden "versionen" deklarieren kann?
 
G

Gastredner

Gast
Der Text sagt im wesentlichen nur aus, dass es für alle Wrapper-Klassen (Integer, Long, Double, Float, Boolean, Short, Byte) mit Ausnahme von Character zwei Konstruktoren gibt: Der eine nimmt als einziges Argument das entsprechende primitive Gegenstück an (also z. B. ein int bei Integer), während der andere einen String akzeptiert und versucht, diesen als Stringrepräsentation des entsprechenden Typs zu interpretieren (also z. B. [c]new Integer("42");[/c] -> ein Integer mit dem Wert 42). Character, als einzige Ausnahme, bietet lediglich einen einzigen Konstruktor, welcher ein einzelnes char entgegennimmt.
 
B

bygones

Gast
mhm ... mich wundert dass sie immer noch in den dokus [c]new[/c] nutzen, obwohl fuer die Wrapper Klassen [c]valueOf[/c] gibt die dem Konstruktor vorzuziehen ist...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Fehler: Hauptklasse Main konnte nicht gefunden oder geladen werden Ursache: java.lang.ClassNotFoundException: Main Allgemeine Java-Themen 24
urmelausdemeis Exception in thread "main" java.lang.Error: Unresolved compilation problem: Allgemeine Java-Themen 7
G java.lang.NoClassDefFoundError: org/aspectj/lang/Signature Allgemeine Java-Themen 2
P9cman java.Lang Klassen fehlen in JRE System Library Allgemeine Java-Themen 1
F Fehlermeldung: java.lang.NoClassDefFoundError: org/apache/commons/net/ntp/NTPUDPClient Allgemeine Java-Themen 6
P Swing Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: npoints > xpoints.length || npoints > ypoints.length Allgemeine Java-Themen 5
S Exception in thread "main" java.lang.NullPointerException at FamilienApp.main(FamilienApp.java:15) Allgemeine Java-Themen 1
E HILFE !! Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils Allgemeine Java-Themen 4
J Threads - java.lang.IllegalThreadStateException Allgemeine Java-Themen 6
javaerd Binomialkoeffizient ausrechnen, Exception in thread "main" java.lang.StackOverflowError Allgemeine Java-Themen 6
T Eclipse Dll einbinden java.lang.UnsatisfiedLinkError nur in Eclipse nicht via javac Allgemeine Java-Themen 1
V Compiler-Fehler Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 125, Size: 125 Allgemeine Java-Themen 11
J Exception in thread "main" java.lang.NoClassDefFoundError Allgemeine Java-Themen 4
H Java Mail Fehlermeldung: java.lang.NoClassDefFoundError: javax/mail/internet/AddressException Allgemeine Java-Themen 5
Crooda Compiler-Fehler java.lang.NoClassDefFoundError bitcoinj Allgemeine Java-Themen 1
I Fehler java.lang.NullPointerException Allgemeine Java-Themen 5
L Eigenener ClassLoader wirft java.lang.NoClassDefFoundError Allgemeine Java-Themen 0
H java.lang.NullPointerException Allgemeine Java-Themen 5
L Interpreter-Fehler java.lang.NullPointerException Allgemeine Java-Themen 17
F java.lang.ClassNotFoundException: .class Allgemeine Java-Themen 5
S java.lang.NoClassDefFoundError Allgemeine Java-Themen 5
J Compiler-Fehler java.lang.StringIndexOutOfBoundsException Allgemeine Java-Themen 12
D java.lang.TypeNotPresentException Allgemeine Java-Themen 3
A java.lang.NullPointerException bei Schleife Allgemeine Java-Themen 3
L java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 10
S javadoc java.lang.NullPointerException Allgemeine Java-Themen 2
H java.lang.OutOfMemoryError bei der wiederholten Erzeugng von Threads Allgemeine Java-Themen 8
B Variable class in java.lang.Object Allgemeine Java-Themen 11
N java.lang.IllegalMonitorStateException: object not locked by thread before notify() Allgemeine Java-Themen 2
T ProcessBuilder (java.lang.NoClassDefFoundError) Allgemeine Java-Themen 2
T java.lang.AssertionError: Allgemeine Java-Themen 4
T java.lang.ClassCastException: Allgemeine Java-Themen 4
P Java Probleme - java.lang.Thread.run(Unkown Source) Allgemeine Java-Themen 10
B java.lang.UnsupportedClassVersionError Allgemeine Java-Themen 12
M cannot be cast to java.lang.Comparable Allgemeine Java-Themen 5
B JNI - java.lang.UnsatisfiedLinkError Allgemeine Java-Themen 21
E Interpreter-Fehler java.lang.ExceptionInInitializerError Allgemeine Java-Themen 12
C java.lang.ClassCastException Allgemeine Java-Themen 3
P Fehler beim Programmstart: java.lang.NoClassDefFound Allgemeine Java-Themen 12
T java.lang.ClassCastException Allgemeine Java-Themen 7
sylo java.lang.NoSuchMethodError: Obwohl Methode vorhanden Allgemeine Java-Themen 8
MonsterBit java.lang.NullPointerException Allgemeine Java-Themen 2
H Applet java.lang.reflect.InvocationTargetException Allgemeine Java-Themen 9
M SerialPort RS232 : java.lang.NoSuchFieldError: eis Allgemeine Java-Themen 2
U java.lang.ClassNotFoundException: .jar Allgemeine Java-Themen 8
G NoClassDefFoundError: java/lang/Object Allgemeine Java-Themen 4
W java.lang.ClassCastException Allgemeine Java-Themen 10
N Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.p Allgemeine Java-Themen 4
N java.lang.InstantiationException Allgemeine Java-Themen 10
J java.lang.NullPointerException bei Threadprogrammierung Allgemeine Java-Themen 9
D replaceAll => no such java.lang.NoSuchMethodError Allgemeine Java-Themen 5
G java.lang.LinkageError: loader constraints violation. Allgemeine Java-Themen 3
O java.lang.NumberFormatException für normalen integer Allgemeine Java-Themen 4
G Javadoc generiert keine Links zu java.lang Klassen? Allgemeine Java-Themen 4
Y java.lang.UnsupportedClassVersionError: Allgemeine Java-Themen 5
G java.lang.ClassCastException Allgemeine Java-Themen 3
J Fehler: java.lang.NullPointerException Allgemeine Java-Themen 2
E java.lang.outofmemory über windows-cmd ändern Allgemeine Java-Themen 6
J Folgender Fehler: java.lang.NullPointerException Allgemeine Java-Themen 4
I java.lang.UnsatisfiedLinkError: Allgemeine Java-Themen 8
J Exception in thread "main" java.lang.OutOfMemoryEr Allgemeine Java-Themen 26
J java.lang.StackOverflowError Debugging? Allgemeine Java-Themen 51
D java.lang.UnsatisfiedLinkError Allgemeine Java-Themen 5
S Fortran Funktion mit JNI aufrufen: java.lang.UnsatisfiedLink Allgemeine Java-Themen 2
S java.lang.UnsatisfiedLinkError mit JNI Allgemeine Java-Themen 6
reibi java.lang.Class - Resource - Solaris Allgemeine Java-Themen 17
S Exception in Thread "main" java.lang.NoClassDef. b Allgemeine Java-Themen 2
M java.lang.UnsupportedClassVersionError: Bad version number i Allgemeine Java-Themen 5
J java Thread java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 7
O "AWT-EventQueue-1" java.lang.ArrayIndexOutOfBounds Allgemeine Java-Themen 6
B Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 12
G Error: java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 2
S java.lang.OutOfMemoryError: Java Allgemeine Java-Themen 22
G java.lang.NullPointerException JFreeChart Allgemeine Java-Themen 5
E Java Fehlermeldung java.lang.NoClassDefFoundError Allgemeine Java-Themen 3
G Problem mit java.lang.reflect.Field Allgemeine Java-Themen 15
P Kompilerfehler: at java.lang.ClassLoader.loadClassInternal(U Allgemeine Java-Themen 16
M java.lang.NullPointerException im Chatclient Allgemeine Java-Themen 12
H java.lang.ExceptionInInitializerError Allgemeine Java-Themen 7
D java.lang.IllegalMonitorStateException: current thread not Allgemeine Java-Themen 3
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 3
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 15
P Exception in thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 3
T Profifrage: java.lang.StackOverflowError bei BigInteger Allgemeine Java-Themen 27
M java.lang.OutOfMemoryError Allgemeine Java-Themen 2
W java.lang.ClassNotFoundException Allgemeine Java-Themen 10
F java.lang.OutOfMemoryError: Java heap space Allgemeine Java-Themen 22
B Exception in thread "main" java.lang.OutOfMemoryEr Allgemeine Java-Themen 5
S fehlermeldung java.lang.OutOfMemoryError Allgemeine Java-Themen 5
B java.lang.NullPointerException Allgemeine Java-Themen 11
S Exception in thread "main" java.lang.StringIndexOu Allgemeine Java-Themen 9
H Skalieren von Image -> java.lang.OutOfMemoryError - WARUM Allgemeine Java-Themen 18
J java.lang.ArrayIndexOutOfBoundsException Allgemeine Java-Themen 2
P Hilfe zu java.lang.Object Allgemeine Java-Themen 3
K java.lang.reflect - Getter und Setter ermitteln Allgemeine Java-Themen 8
G jTable-Problem --> java.lang.OutOfMemoryError Allgemeine Java-Themen 5
G Java.lang.Compiler Allgemeine Java-Themen 3
E Exception in Thread "main" java.lang.NoClassDefFou Allgemeine Java-Themen 5
F java.lang.OutOfMemoryError Allgemeine Java-Themen 13
R java.lang.String maximale Anzahl der Zeichen Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben