W ogóle żeby zadziałało powinno być tak:
public class s1 {
public static void main(String[] args) {
jeden test = new jeden();
test.pit();
}
static class jeden {
public void pick(){System.out.println("pick");}
public void pit(){this.pick();}
}
}
this - oznacza, że odwołujesz się do konkretnego stworzonego obiektu. Na przykład jak masz settery to możesz mieć coś takiego:
class Test {
private int x;
public void setX(int x) {
this.x = x;
}
}
I this w tym miejscu znaczy "weź wartość tego konkretnego pola x, które należy do tego konkretnego obiektu, który stworzyłeś".
Z takich uwag to jeszcze:
- by convention klasy w Javie nazywamy zaczynająć od wielkiej litery, więć np. nie "jeden", a "Jeden"
- nie mieszaj sposobów klamrowania, w Javie przyjęło się, że raczej piszemy:
class Example {
// ...
}
Niż:
class Example2
{
// ...
}
Ale ogólnie po prostu nie mieszaj robiąć raz tak, raz tak.
Pozdrawiam,