/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Initialisering af variable
Fra : Mikael Flensborg


Dato : 09-02-05 15:50

Følgende eksempel havde jeg noget bøvl med i min kode. (Indtil jeg fandt
ud af hvad der foregik)

public class Example {
private abstract static class Super {
protected int foo = 0;

protected Super() {
toBeOverWritten();
}

protected abstract void toBeOverWritten();
}

private static class Sub extends Super {
String test = null;

public Sub() {
super();
toBeOverWritten();
System.out.println("" + foo);
}

protected void toBeOverWritten() {
if (test == null) {
test = "TEST";
foo++;
}
}
}

public static void main(String[] args) {
new Sub();
}
}

Hvad tror i resultatet bliver af denne kørsel.. Og hvad mon resultatet
bliver hvis jeg ændrer "String test = null" til en ren erklæring (String
test).. Jeg forstår egentlig godt semantikken. Og forstår også godt
hvorfor man nu ikke kan kalde kode inden man kalder super
constructeren.. Men jævnfør tidligere diskussion om hvorvidt
nullificering af ens variable i erklæringen betyder noget, kan hermed
vises at det er tilfældet ...

/Mikael

 
 
Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste