HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Java Objects, Classes, and Interfaces |
Hier erlernst du, wie man die Gegenstände verursacht und zerstört, wie man, die die Kategorie und herstellt Unterklasse, Kategorien sind, wie man die Methoden und sogar schreibt, wie man die Schnittstellen verursacht und benutzt. Dieses Kapitel bedeckt alles von, wie man einen Gegenstand vor anderen Gegenständen und überlaufenden Methoden schützt, um die Schablone Kategorien, welche die Auszug Kategorien und die Methoden verwenden und Patriarch der Java Gegenstandhierarchie herzustellen--java.lang. Gegenstandkategorie.
|
Lebenszyklus des Gegenstandes
|
ein Gegenstand ist ein Modul, das Zustand und Verhalten hat. Der Zustand eines Gegenstandes wird innerhalb der Mitgliedsvariablen enthalten und das Verhalten wird durch seine Methoden eingeführt. Die Java Programme, die du schreibst, verursachen viele unterschiedliche Gegenstände durch die Schablone, diese Schablonen bekannt als Kategorien. Die Gegenstände verursachten wechselwirkendes mit einander, indem sie Anzeigen sendeten. Resultierend aus messag ist Methode invocated, die etwas Tätigkeit durchführt, oder sie kann den Zustand des Gegenstandes auch ändern, der die Anzeige empfängt. Durch diese kann Interaktion der Gegenstände, dein Java Code eine graphische Benutzerschnittstelle einführen, Animationen laufen zu lassen oder kann Informationen über Netz auch senden und erhalten. Sobald der Gegenstand die Arbeit durchführt, die er für verursacht wurde, wird er zerstört und alle Betriebsmittel, die ihm zugewiesen werden, werden für Gebrauch, durch etwas andere Gegenstände aufbereitet.
|
Verursachen der Kategorien
|
Eine Kategorie ist eine Schablone, die benutzt werden kann, um viele Gegenstände zu verursachen. Die Kategorie Implementierung enthält von zwei Bestandteilen: Kategorie Erklärung und Kategorie Körper.
|
classDeclaration
{
. . .
classBody
. . .
}
|
|
Kategorie Erklärung
|
Die Kategorie Erklärung, erklärt den Namen einer Kategorie zusammen mit einigen anderen Attributen wie superclass der Kategorie und ob die Kategorie Endrunde, öffentlichkeit oder Auszug ist. Die Kategorie Erklärung sollte das Kategorie Schlüsselwort und den Namen der Kategorie enthalten, die du definierst. Folglich sieht die minimale Kategorie Erklärung wie dieses aus:
|
class NameOfClass
{
. . .
}
|
|
Kategorie Körper |
Kategorie Körper folgt der Kategorie Erklärung und wird immer innerhalb der lockigen Klammern {und} wie in dem Beispiel gezeigt oben eingebettet. Kategorie Körper enthält Erklärungen für Variablen, die Mitglieder der Kategorie, Methoden Erklärungen und implemenatations der Kategorie sind. Wir besprechen jetzt zwei spezielle Methoden, die du innerhalb eines Kategorie Körpers erklären kannst: Die Erbauer und beenden () Methode.
|
Erbauer
|
Diese sind einige der Richtlinien auf Erbauern:
- privates verwendetes „privates“ der Erbauer () - Schlüsselwort, keine Dose instantiate die Kategorie als Gegenstand. Aber kann allgemeine statische Methoden noch herausstellen, und diese Methoden können Gegenstand konstruieren und ihn zurückbringen, aber niemande können dies tun.
-
Paketerbauer () - keine von ihnen außerhalb deines Pakets können einen Fall aus deiner Kategorie konstruieren. Dieses ist nützlich, wenn du Kategorien in deinem Paket haben möchtest, das neue yourClass tun kann () und nicht ließ jedermann sonst dies tun wünscht.
-
geschütztes Schlüsselwort der Erbauer () - verwendete „geschützt“ nur den Unterklassen deiner Kategorie kann dieses Paket gebrauchen.
-
allgemeines verwendet verwendete „öffentlichkeit“ der Erbauer () - Schlüsselwort der generische Erbauer diese.
|
Erklären der Mitgliedsvariablen
|
Ein Gegenstand beibehält seinen Zustand durch die Variablen, die innerhalb dieser Kategorie definiert werden. Diese Variablen bekannt als die Mitgliedsvariablen. Beim Erklären der Mitgliedsvariablen für die Kategorie, kannst du einen Wirt der unterschiedlichen „Attribute“ über jene Variablen spezifizieren: sein Name, seine Art, Zugangsberechtigung wies ihm, und so weiter zu. Mitgliedsvariable Erklärung sieht wie dieses aus:
|
[accessSpecifier] [static] [final] [transient] [volatile] type variableName
The items in the square brackets are optional. The words inside the bracket are to be
replaced by names. or keywords.
|
|
Die Wörter, die innerhalb des Haltewinkels spezifiziert werden, definiert die folgenden Aspekte von Variablen:
- accessSpecifier definiert das, dem alle weiteren Kategorien Zugang zur tahat Variable haben
- Static zeigt an, daß die erklärte Variable Kategorie Mitgliedsvariable im Vergleich mit Fallmitgliedsvariablen ist.
- Endrunde zeigt an, daß die Variable konstant ist.
- vorübergehende Variablen sind nicht Teil des hartnäckigen Zustandes des Gegenstandes.
- löschbare Mittel die Variable wird asynchronously geändert.
|
Schreiben einer Methode
|
In Java definieren wir Methoden innerhalb des Körpers einer Kategorie, für die er das Verhalten einführt. Wir erklären normalerweise Methoden nach seinen Variablen im Kategorie Körper, obgleich nicht erfordert. Ähnlich der Kategorie Implementierung, besteht eine Methode Implementierung auch aus zwei Teilen: Methode Erklärung und Methode Körper.
|
methodDeclaration
{
. . .
methodBody
. . .
}
|
|
Methode Erklärung
|
Am Minimum hat der Methode Erklärungbestandteil eine Rückholart, die die Datenart des Wertes zurückgebracht durch die Methode anzeigt, und Namen der Methode.
|
returnType methodName()
{
. . .
}
|
|
Cosider zum Beispiel, der folgende Code erklärt eine einfache Methode, die isEmpty genannt wird () innerhalb der Stapelkategorie, die Booleschen Wert zurückbringt (entweder zutreffend oder falsch).
|
class Stack
{
. . .
boolean isEmpty()
{
. . .
}
}
|
|
Die Methode Erklärung, die im Beispiel oben gezeigt wird, ist sehr grundlegend. Methoden haben viele andere Attribute wie Zugriffssteuerung, Argumente und so weiter. Dieser Abschnitt umfaßt diese Themen.
|
Der Methode Körper
|
Im Methode Körper, den alle Tätigkeit einer Methode, der Methode Körper stattfindet, enthält alle zugelassenen Java Anweisungen, der die Methode einführt. Z.B. ist hier eine Stapelkategorie mit der Implementierung für isEmpty () Methode.
|
class Stack
{
static final int STACK_EMPTY = -1;
Object stackelements[];
int topelement = STACK_EMPTY;
. . .
boolean isEmpty()
{
if (topelement == STACK_EMPTY)
return true;
else
return false;
}
}
|
|
Innerhalb des Methode Körpers kannst du Gebrauch tun „dieses“, den gegenwärtigen Gegenstand zu verweisen.
|
Was ist Unterklassen, Superclasses und Erbschaft? |
Als andere objektorientierte Programmiersprachen in Java, kann eine Kategorie von anderer Kategorie abgeleitet werden. Z.B. dich annehmen hav eine Kategorie, die MouseEvent genannt wird, das den Fall darstellt, wenn Benutzer die Maustaste in der GUI Fensterumgebung betätigt. Später während sich entwickelnde Anwendung, du feststellen, daß du eine Kategorie benötigst, Fall darzustellen wenn Benutzerpresse ein Schlüssel auf der Tastatur. Du kannst die KeyboardEvent Kategorie vom Kratzer schreiben, aber, da MouseEvent und die KeyboardEvent Kategorien etwas Zustände und Verhalten teilen, wie die Maustaste oder Schlüssel betätigt wurden, die Zeit, daß der Fall und so weiter wir kann für das Kopieren der MouseEvent Kategorie anstatt re-inventing das Rad gehen auftrat, kannst du Nutzen aus Subclassing und Erbschaft. .and ziehen, also verursachst du einen Kategorie Fall, von dem MouseEvent und KeyboardEvent sein können ableiten
|
Fall ist jetzt superclass MouseEvent und KeyboardEvent der Kategorien. MouseEvent und KeyboardEvent werden jetzt Unterklassen des Kategorie Falls genannt. Fall enthält alle Zustände und Verhalten, die für Mäusefälle und Tastaturfälle allgemein sind. Unterklassen, MouseEvent und KeyboardEvent, übernehmen den Zustand und das Verhalten von den superclass. Zum Beispiel betrachten, MouseEvent und KeyboardEvent beide übernimmt das Zeitstempelattribut vom Superkategorie Fall.
|
Wie man eine Unterklasse herstellt
|
Du erklärst, daß eine Kategorie Unterklasse einer anderen Kategorie in der Kategorie Erklärung ist. Annehmen, daß du eine Unterklasse herstellen wolltest, die „ImaginaryNumber“ der „Zahlkategorie“ genannt wurde. (wo die Zahlkategorie ein Teil des java.lang Pakets ist und niedrige Kategorie für Hin- und Herbewegungen, Ganzzahlen und andere Zahlen. ist). Du kannst jetzt schreiben:
|
class ImaginaryNumber extends Number
{
. . .
}
|
|
Diese Linie erklärt ImaginaryNumber als Unterklasse der Zahlkategorie
|
Eine abschließende Kategorie schreiben
|
Java erlaubt uns, unsere Kategorie als Endrunde zu erklären; das heißt, kann die Kategorie, die als Endrunde erklärt wird, nicht sein subclassed. Es gibt zwei Gründe, warum man dies tun möchte: Sicherheit und Designzweck.
|
- Sicherheit: Um Systeme umzustürzen, verwenden einer der Einheit Häcker ist, herstellt Unterklassen einer Kategorie und ersetzt ihre Kategorie für die Vorlage. Die Unterklasse schaut selben wie die ursprüngliche Kategorie, aber sie führt die in beträchtlichem Ausmaß unterschiedlichen Sachen durch, verursacht Beschädigung oder vielleicht erhält in private Informationen. Um diese Subversion zu verhindern, solltest du deine Kategorie als Endrunde erklären und irgendwelche der Unterklassen an verursacht werden verhindern.
- Design: Ein anderer Grund wir, eine Kategorie als Endrunde zu erklären ist objektorientierter Designgrund. Wenn wir glauben, daß unsere Kategorie „ist, vervollkommnen“ und nicht Unterklassen weiter haben sollte. Wir können unsere Kategorie als Endrunde erklären.
|
Um zu spezifizieren daß die Kategorie eine abschließende Kategorie ist, sollten wir das Schlüsselwort „Endrunde“ vor dem Kategorie Schlüsselwort in der Kategorie Erklärung verwenden. Wenn wir die ImaginaryNumber Kategorie als abschließende calss erklären möchten, sollte seine Erklärung wie dieses aussehen:
|
final class ImaginaryNumber extends Number implements Arithmetic
{
. . .
}
|
|
Wenn folgende Versuche zur Unterklasse ImaginaryNumber gebildet werden, ergibt sie eine Compilerstörung als das folgende:
|
Imagine.java:6: Can't subclass final classes: class ImaginaryNumber
class MyImaginaryNumber extends ImaginaryNumber {
^
1 error
|
|
Eine abschließende Methode verursachen
|
Wenn scheint das Verursachen der abschließenden Kategorie für deine Notwendigkeiten schwer, und du möchtest gerade einige der Kategorien, welche die Methoden, die sind, overriden, dich schützen kannst abschließendes Schlüsselwort in der Methode Erklärung verwenden, um den Compiler anzuzeigen, daß die Methode nicht durch Unterklassen überlaufen werden kann.
|
Schreiben der abstrakten Kategorien
|
Manchmal kannst du, abstrakte Konzepte nur modellieren wünschen aber möchtest nicht einen Fall der Kategorie verursachen. Wie der Zahlkategorie im java.lang Paket früh besprochen stellt nur das abstrakte Konzept von Zahlen dar. Wir Dose Modellnummer in einem Programm, aber es sind kein sinnvoll, einen generischen Zahlgegenstand zu verursachen. Stattdessen benimmt sich die Zahlkategorie als superclass Ganzzahl und Hin- und Herbewegung zu den Kategorien, die spezifischen Kasten der Werkzeuge von Zahlen tun. Kategorien mögen Zahl, die einführt nur die abstrakten Konzepte und sollte nicht folglich sein instantiated, werden benannt abstrakte Kategorien. Eine abstrakte Kategorie ist eine Kategorie, die nur sein kann subclassed und kann nicht sein instantiated.
|
Um die Kategorie als abstrakte Kategorie zu erklären verwenden wir das Schlüsselwort „Auszug“ vor der Schlüsselwortkategorie in der Kategorie Erklärung:
|
abstract class Number
{
. . .
}
|
|
If any attempt is made to instantiate an abstract class, compiler will displays
error as shown below and refuses to compile the program:
|
AbstractTest.java:6: class AbstractTest is an abstract class.
It can't be instantiated.
new AbstractTest();
^
1 error
|
|
Schreiben der abstrakten Methoden
|
Eine abstrakte Kategorie kann abstrakte Methoden enthalten, abstrakte Methoden sind die Methoden, ohne Implementierung. Folglich kann eine abstrakte Kategorie ganze programmierenschnittstelle definieren seine und seine Unterklassen die Methode Erklärungen für alle Methoden folglich zur Verfügung stellen, die notwendig sind, um die programmierenschnittstelle einzuführen. Jedoch kann eine abstrakte Kategorie Implementierung Details der Methoden die Unterklassen überlassen.
|
Du würdest eine abstrakte Kategorie, GraphicObject erklären, das die Mitgliedsvariablen und die Methoden liefert, die durch alle Unterklassen geteilt werden. GraphicObject kann abstrakte Methoden für die Methoden, wie abgehobenen Betrag (), der durch die Unterklassen eingeführt werden muß, aber in den völlig unterschiedlichen Weisen auch erklären. Die GraphicObject Kategorie würde wie dieses aussehen:
|
abstract class GraphicObject
{
int x, y;
. . .
void moveTo(int newX, int newY)
{
. . .
}
abstract void draw();
}
|
|
An abstract class is not have an abstract method in it. But any of the class that
do have an abstract method in it or in any of the superclasses should be declared as an
abstract class. Each non-abstract subclass of GraphicObject, such as Circle and Rectangle,
shoul provide an implementation for the draw() method.
|
class Circle extends GraphicObject
{
void draw()
{
. . .
}
}
class Rectangle extends GraphicObject
{
void draw()
{
. . .
}
}
|
|
Wie man Schnittstellen verursacht und benutzt
|
Schnittstellen liefert eine Einheit, um hierarchisch ohne Bezugkategorien zu erlauben einführen den gleichen Satz Methoden. Eine Schnittstelle ist die Ansammlung von Methode Definitionen und von Konstante Werten, die von der Abhängigkeit auf einer spezifischen Kategorie oder einer Kategorie Hierarchie frei ist. Schnittstellen sind zum folgenden Zweck nützlich:
|
- Methoden erklärend, die eines oder mehrer als eine klassifiziert, werden erwartet einzuführen
- die programmierenschnittstelle des Gegenstandes aufdecken, ohne seine Kategorie aufzudecken (Gegenstände wie diese benannte anonyme Gegenstände und sind nützlich, beim Versenden eines Pakets der Kategorien zu den anderen Entwicklern)
- die ähnlichkeiten zwischen ohne Bezugkategorien gefangennehmen, ohne das Kategorie Verhältnis zu zwingen
|
Eine Schnittstelle verursachen
|
Eine Schnittstelle zu verursachen ist dem des Verursachens einer neuen Kategorie ähnlich. Eine Schnittstellendefinition besteht aus zwei Bestandteilen: Schnittstelle Erklärung und Schnittstelle Körper.
|
interfaceDeclaration
{
interfaceBody
}
|
|
The interfaceDeclaration declares various attributes about the interface such as its
name and whether it extends another interface. The interfaceBody contains the constant
and method declarations within the interface.
|
Eine Schnittstelle benutzen
|
Eine Schnittstelle wird benutzt, wenn die Kategorie behauptet, diese Schnittstelle einzuführen. Eine Kategorie erklärt alle Schnittstellen, die in der Kategorie Erklärung eingeführt werden. Um zu erklären daß die Kategorie eine oder mehrer Schnittstellen einführt, das Schlüsselwort „die Werkzeuge“ gebrauchen, die von Komma-abgegrenzter Liste der Schnittstellen gefolgt werden, die durch die Kategorie eingeführt werden.
|
Annehmen, daß wir eine Kategorie schreiben, die eine Fifo Warteschlange einführt. Da die Fifo Warteschlange Kategorie eine Ansammlung Gegenstände (ein Gegenstand, die andere Gegenstände enthält), es doesnot ist, jedes mögliches sinnvoll sein, das zählbare einzuführen anschließen. Die FIFOQueue Kategorie würde erklären, daß sie Werkzeuge die zählbare Schnittstelle wie gezeigt unten tut:
|
class FIFOQueue implements Countable
{
. . .
}
|
|
And thereby guaranteeing that it provides implemenations for currentCount(),
incrementCount(),setCount(), and decrementCount() methods.
|
|
|
Keywords: java download, java games, javascript, sun java, download microsoft java virtual
machine, sun java free download, java chat rooms, java update, yahoo java
messenger, java certification
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|