Ich weiß, dass this(...)
verwendet wird, um einen Konstruktor einer Klasse von einem anderen Konstruktor aufzurufen. Aber können wir new
für das gleiche verwenden?Kann "new" innerhalb des Konstruktors der Klasse verwendet werden, um einen anderen Konstruktor in Java aufzurufen?
Um in der Frage klarer zu sein, ist Line-2 gültig? Wenn es (wie der Compiler nicht beanstandete), warum ist der Ausgang null
nicht Hello
?
class Test0 {
String name;
public Test0(String str) {
this.name= str;
}
public Test0() {
//this("Hello"); // Line-1
new Test0("Hello"){}; // Line-2
}
String getName(){
return name;
}
}
public class Test{
public static void main(String ags[]){
Test0 t = new Test0();
System.out.println(t.getName());
}
}
Warum Sie das tun wollen? –
@Lutz Horn Ich habe irgendwo irgendwo einen solchen Code gesehen und ich möchte die dahinterstehenden Grundlagen verstehen. – Dexter
Sind Sie sicher, dass es Code mit derselben Semantik wie Ihre ist? Dieser Code wird kompiliert, aber es macht keinen Sinn. –