আমি নীচের কোডটি দেখছি এবং কিছুটা অদ্ভুত কিছু পেয়েছি:
public class Sequence {
Sequence() {
System.out.print("c ");
}
{
System.out.print("y ");
}
public static void main(String[] args) {
new Sequence().go();
}
void go() {
System.out.print("g ");
}
static {
System.out.print("x ");
}
}
System.out
"Y" এর সাথে কোনও পদ্ধতি ঘোষণার সাথে সম্পর্কিত না হওয়ায় আমি এটি সংকলন ত্রুটিটি দিয়ে আশা করব { }
। কেন এটি বৈধ? এই কোডটি কীভাবে কল করা বা করা উচিত তা আমি দেখছি না।
এটি চলমান চলাকালীন এটিও উত্পাদন করে x y c g
, static { }
সিক্যুয়েন্স কনস্ট্রাক্টরের আগে কেন কল করা হবে?