In Java, può un / dichiarazione del costruttore metodo apparirà all'interno di un'altra dichiarazione di metodo / costruttore?
-
12-10-2019 - |
Domanda
In Java, può un / dichiarazione del costruttore metodo apparirà all'interno di un'altra dichiarazione di metodo / costruttore? Esempio:
void A() {
int B() { }
}
Credo di no, ma mi piacerebbe essere rassicurati.
Soluzione
No . non è compilabile.
Altri suggerimenti
No questo non è possibile. Per riferimento: http://download.oracle.com/javase/tutorial/ java / javaOO / methods.html
Non direttamente, ma può avere un metodo in una classe in un metodo:
class A {
void b() {
class C {
void d() {
}
}
}
}
Questo non è possibile in java. Tuttavia questo può raggiunto l'interfaccia se il codice diventa complesso.
interface Block<T> {
void invoke(T arg);
}
class Utils {
public static <T> void forEach(Iterable<T> seq, Block<T> fct) {
for (T elm : seq)
fct.invoke(elm);
}
}
public class MyExample {
public static void main(String[] args) {
List<Integer> nums = Arrays.asList(1,2,3);
Block<Integer> print = new Block<Integer>() {
private String foo() { // foo is declared inside main method and within the block
return "foo";
}
public void invoke(Integer arg) {
print(foo() + "-" + arg);
}
};
Utils.forEach(nums,print);
}
}
No, Java consente solo un metodo per definire all'interno di una classe, non all'interno di un altro metodo.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow