Java final variable in Klasse global erstellen

palaber

Captain
Registriert
Juni 2006
Beiträge
3.856
Hallo,
ich habe folgendes Problem. Und zwar möchte ich in einer Klasse eine final Variable erstellen, auf die
global zugriffen werden kann. Ich möchte diese aber nur deklarieren und nicht initalisieren!
Eigentlich geht das ja nicht - aber auf Android funktioniert es:
Code:
private class ConnectedThread extends Thread {
    private final BluetoothSocket mmSocket;
    private final InputStream mmInStream;
    private final OutputStream mmOutStream;
 
    public ConnectedThread(BluetoothSocket socket) {
http://developer.android.com/guide/topics/connectivity/bluetooth.html

Ich habe es allerdings anders geregelt. Und zwar erzeuge ich eine Instanz einer Klasse und in dieser möchte ich verschieden Funktionen ausfühen. Daher möchte ich die Variable global haben.
 
Auch in deinem Beispiel werden den final Variablen im Constructor Werte zugewiesen. Sinn und Zweck des final Keywords bei Variablen ist, dass der Wert nach Zuweisung nicht mehr geändert werden darf. Daher stellt sich die Frage, was du überhaupt zu bewerkstelligen versuchst.
 
Zuletzt bearbeitet:
palaber schrieb:
ich habe folgendes Problem. Und zwar möchte ich in einer Klasse eine final Variable erstellen, auf die
global zugriffen werden kann. Ich möchte diese aber nur deklarieren und nicht initalisieren!
Eigentlich geht das ja nicht - aber auf Android funktioniert es:
Code:
private class ConnectedThread extends Thread {
    private final BluetoothSocket mmSocket;
 
    public ConnectedThread(BluetoothSocket socket) {

Das geht genau so mit Java auch. Entweder erfolgt die Initialisierung bei der Erstellung oder im Konstruktor. Andere Möglichkeiten sind nicht vorgesehen (bzw. sollte man nicht verwenden, mit Reflection geht so einiges, was man nicht machen sollte)
 
Zurück
Oben