# final/static Vererbung



## H26 (13. Dez 2009)

Hey, ich habe eine Frage bzgl Vererbung.

was passiert mit Variablen, Metohden die mit final/static deklariert sind? habe nirgends eine schlau antwort gefunden..weiss jemand was dazu?


mfg H26


----------



## Gelöschtes Mitglied 5909 (13. Dez 2009)

final methoden/klassen kann nicht überschreiben
static methoden kann man eh nicht überschreiben
und variablen kann man sowieso nicht überschreiben

benutzen kann man sie aber trotzdem, wenn sie nicht private sind


----------



## javimka (13. Dez 2009)

Wobei das mit final Variabeln noch spannend ist: 

```
public class FinalTest {

	public static void main(String[] args) {
		B b = new B();
		b.val = 4; // Funktioniert
		
		A ab = b;
		ab.val = 3; // Compilerfehler, obwohl dasselbe Objekt
	}

	static class A { 
		public final int val = 0;
	}
	
	static class B extends A {
		public int val = 2;
	}
}
```


----------



## ThreadPool (13. Dez 2009)

H26 hat gesagt.:


> habe nirgends eine schlau antwort gefunden..weiss jemand was dazu?



Dann hast du nicht richtig gesucht.

Hier ein paar kleine Suchergebnisse von Google.

Allgemein

Variables (The Java™ Tutorials > Learning the Java Language > Language Basics)

static

Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 6.3 Statische Methoden und statische Attribute
Understanding Instance and Class Members (The Java™ Tutorials > Learning the Java Language > Classes and Objects)

finale Variablen

Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 2.8 Methoden einer Klasse
Types, Values, and Variables Punkt 4.5.4

Finale Klassen und Methoden

Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 6.10 Methoden überschreiben
Writing Final Classes and Methods (The Java™ Tutorials > Learning the Java Language > Interfaces and Inheritance)


----------



## Gelöschtes Mitglied 5909 (13. Dez 2009)

dann hast du zwei variablen die val heißen, die eine im scope von class A, die andere im scope von class B.

das ist error prone, denn du musst dann zum zugriff mein ich sogar casten


----------

