przygotowuje się do SCJP więc mam trochę ciekawostek do przedyskutowania, taka inteligentna wymiana zdań :D
Pytanko pierwsze dlaczego nie można dziedziczyć po klasie Integer. Klasa Integer ma publiczny konstruktor??
A teraz trochę kodu.
Co się wyświetli na konsoli?
class Foo {
String name;
}
class Start {
public Start() {
Foo f = new Foo();
System.out.println(f.name);
funkcja(f);
System.out.println(f.name);
}
public void funkcja(Foo f){
f.name="aaaa";
f = null;
}
public static void main(String [] args) {
Start s = new Start();
}
}
A teraz trochę trudniejsze
class Start {
public Start() {
int i = 100;
System.out.println(i);
funkcja(i);
System.out.println(i);
}
public void funkcja(int i){
i = i + 1;
}
public static void main(String [] args) {
Start s = new Start();
}
}
I najtrudniejsze :) podobnie co się wyświetli
class Start {
public Start() {
Integer i = 100;
System.out.println(i);
funkcja(i);
System.out.println(i);
}
public void funkcja(Integer i){
i = i + 1;
}
public static void main(String [] args) {
Start s = new Start();
}
}