স্ট্যাটিক ব্লক
- স্ট্যাটিক ব্লকগুলো ক্লাস লোডিং-এর সময় এক্সিকিউট হয়।
- স্ট্যাটিক ব্লকগুলো main() মেথড রান হওয়ার আগে এক্সিকিউট হয়।
- স্ট্যাটিক ব্লক-এর প্রোটোটাইপে কোনো নাম থাকে না।
- যদি আমরা ক্লাস লোডিং-এর সময় যেকোনো লজিক এক্সিকিউট করতে চাই, সেই লজিক স্ট্যাটিক ব্লক-এ রাখতে হবে যাতে এটি ক্লাস লোডিং-এর সময় এক্সিকিউট হয়।
সিনট্যাক্স
static {
// কিছু স্টেটমেন্ট
}
উদাহরণ
public class StaticBlockTest {
static {
System.out.println("Static Block!");
}
public static void main(String args[]) {
System.out.println("Welcome to Tutorials Point!");
}
}
আউটপুট
Static Block!
Welcome to Tutorials Point!
কনস্ট্রাক্টর
- একটি কনস্ট্রাক্টর জাভাতে অবজেক্ট তৈরি করার সময় এক্সিকিউট হয়।
- একটি কনস্ট্রাক্টর ক্লাসের অবজেক্ট তৈরি করার সময় কল হয়।
- একটি কনস্ট্রাক্টরের নাম অবশ্যই ক্লাসের একই নাম হতে হবে।
- একটি কনস্ট্রাক্টর একটি অবজেক্টের জন্য শুধু একবার কল হয় এবং এটি উতनीবার কল হয় যতবার অবজেক্ট তৈরি করা হয়। অর্থাৎ অবজেক্ট তৈরি হওয়ার সাথে সাথে কনস্ট্রাক্টর স্বয়ংক্রিয়ভাবে এক্সিকিউট হয়।
সিনট্যাক্স
public class MyClass {
// এটি কনস্ট্রাক্টর
MyClass() {
// কিছু স্টেটমেন্ট
}
}
উদাহরণ
public class ConstructorTest {
static {
// স্ট্যাটিক ব্লক
System.out.println("In Static Block!");
}
public ConstructorTest() {
System.out.println("In a first constructor!");
}
public ConstructorTest(int c) {
System.out.println("In a second constructor!");
}
public static void main(String args[]) {
ConstructorTest ct1 = new ConstructorTest();
ConstructorTest ct2 = new ConstructorTest(10);
}
}
আউটপুট
In Static Block!
In a first constructor!
In a second constructor!