Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Java -


1. Java
2. Viren

Allgemein \"Verluste\": . kein Präprozessor:
o keine bedingte Compilierung (da plattformunabhängig gedacht)
o benannte Konstanten sind mit final möglich
. keine structs und unions, nur classes
. kein typedef (da alles Klassen sind)
. keine enums (Ersatz durch einzelne final-Konstanten)
. keine inline-Funktionen (eventuell automatisch vom Compiler gehandhabt)
. kein goto (bleibt aber reseviertes Wort), dafür break und continue mit Labels
. kein Überladen von Operatoren (nur von Funktionen, außerdem sind + und += für Strings definiert)
. kein Operator sizeof mehr (es braucht nicht mehr explizit mit Speichergrößen gearbeitet zu werden)
. keine Templates (sind aber durch die JAVA-Art, Objekte zu behandeln, nicht unbedingt notwendig)

Änderungen bei den Typen:
. Typen für Zeichenketten: String (konstant) und StringBuffer (veränderlich)
. Festlegung von Wertebereich und Größe der elementaren Datentypen
. \"echter\" boolean-Typ, der kein Ganzzahltyp ist
. für Bedingungen wird als Ergebnistyp boolean (statt int) gefordert
. der char-Typ ist 16-Bit breit (Unicode)
. kein signed und unsigned, als Ersatz dafür: Vorzeichenunterscheidung beim Rechts-Shiften mit (>> und >>>)
Robustheit:
. automatische Typkonversion, wenn nichts verloren geht z.B.: von float auf double
. keine Pointer (Ersatz durch Objektreferenzen)
. Arrays sind klassen-ähnlich implementiert, Index-Überprüfung zur Laufzeit
. automatische Speicherverwaltung: freigeben, wenn keine Referenz mehr existiert (\"Garbage Collection\")
. Destruktoren kaum verwendet (automatische Speicherverwaltung)
. kein ::-Operator, Ersatz mit . und vollständig qualifizierten Namen

Klassen:
. keine Funktionen, die nicht einer Klasse angehören, alles ist Teil irgendeiner Klasse
. alle Klassen erben von der Klasse Object (alle verwandt)
. interface-Schlüsselwort für eine Art abstrakter Klassen
. keine Mehrfachvererbung (teilweise durch interface ersetzbar)
. Vererbung wird anders implementiert als in C++, funktioniert aber ähnlich
. private, protected und public haben eine andere Interpretation als in C++
. nur eine Art von Vererbung (nicht public oder private)
. kein Semikolon hinter der Klassen-Definition nötig
. Standard-Klassen für Vektoren, Hashtables, etc.
. keine virtual-Funktionen (alle Methoden sind virtuell)
. es werden immer Laufzeit-Typinformationen mitgeführt

Sonstiges:
. an allen Stellen Parameter-Übergabe \"by value\"! Nur bei Objekten \"by reference\"
. keine Vorwärts-Deklaration für Klassen oder Funktionen notwendig
. an allen Stellen automatische Initialisierung durch 0
. leicht unterschiedliche Implementation des Exception-Handlings
. Multithreading als Teil der Sprache
. eingebaute Unterstützung für Dokumentation mit /**-Kommentaren und javadoc

 
 

Datenschutz
Top Themen / Analyse
indicator LAN/MAN/WAN Technologie :
indicator CompuServe
indicator Gehäuse und Anschlüsse
indicator Firewall
indicator Auf Dateien zugreifen
indicator Das Stored energy-Prinzip
indicator Router
indicator Zugriffs- / Zugangsverfahren
indicator Pentium
indicator P-Adresse


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution