Gibt es abstrakte Variablen in Java?

7

in Java irgendwelche abstrakten Variablen dort? Ich arbeitete diese abstrakten Variablen im Konstruktor Ich bin nort sicher, aber ich denke, der Konstruktor unterstützt statische Variablen.pls klären meine Zweifel

    
Vinoth Kumar 25.08.2010, 04:48
quelle

4 Antworten

20

In Java können nur Klassen und Methoden abstrakt sein. Variablendeklarationen können nicht. Sie können jedoch Variablendeklarationen verwenden, deren Typen abstrakt sind. Siehe Beispiel:

%Vor%     
naikus 25.08.2010 04:57
quelle
7

Die Sprachspezifikation listet 7 Arten von Variablen auf:

  1. Klassenvariablen - in einer Klassendeklaration als statisch deklariert
  2. Instanzvariablen - innerhalb einer Klassendeklaration deklariert, ohne das statische Schlüsselwort
  3. zu verwenden
  4. Array-Komponenten - wie i[2] , wenn wir ein Array wie int[] i= new int[5] erstellen
  5. Methodenparameter - Name Argumentwerte, die an eine Methode übergeben werden
  6. Konstruktorparameter - Namensargumentwerte, die an einen Konstruktor übergeben werden
  7. Ausnahmehandlerparameter - wird jedes Mal erstellt, wenn eine Ausnahme abgefangen wird
  8. lokale Variablen - deklariert in einem Block ( { } ) oder für eine Anweisung

Sie können alle Variablentypen (außer # 4) in einem Konstruktor verwenden:

%Vor%

Das Schlüsselwort abstract ist für die Variablendeklaration nicht erlaubt.

    
Andreas_D 25.08.2010 07:52
quelle
0

Es gibt 2 Möglichkeiten, abstrakte Variablen in Java zu definieren, ohne ein abstraktes Schlüsselwort zu verwenden.

1. Möglichkeit: Definieren Sie einen parametrisierten Konstruktor in der abstrakten Klasse, etwa wie folgt:

%Vor%

Beim Definieren eines parametrisierten Konstruktors in einer abstrakten Klasse müssen die Unterklassen ihre eigenen Konstruktoren definieren und den Superkonstruktor aufrufen, wodurch sie ihren eigenen SEPARATOR übergeben.

2. Weg: Definieren Sie die Eigenschaft als Getter-Methode, etwa wie folgt:

%Vor%

Auf diese Weise wird der Wert der Eigenschaft SEPARATOR delegiert, um von jeder konkreten Klasse definiert zu werden.

Quelle: Definieren Sie eine abstrakte Eigenschaft in Java

    
Hussein Terek 24.10.2017 14:30
quelle
0

abstract ist ein Nicht-Zugriffsmodifikator in Java, der für Klassen, Methoden, aber nicht für Variablen anwendbar ist. Es wird verwendet, um Abstraktion zu erreichen, die eine der Säulen der objektorientierten Programmierung ist.

    
J. Lily 24.10.2017 17:16
quelle

Tags und Links