Não entendi este trecho do código:
static A B(String s) -> Pq não da erro de compilação? Este "espaço" entre A e B não consegui entender.
B b = A.B("t"); -> O que este trecho esta fazendo? Onde esta sendo atribuido a literal "t" para a referencia b?
class B {
public String s;
protected B() {}
static A B(String s) {
return new A(s);
}
}
class A extends B {
A(String s) {
this.s = s;
}
public static void main(String[] args) {
B b = A.B("t");
System.out.println(b.s);
}
}