Java 中的非靜態塊。
靜態塊是帶靜態關鍵字的程式碼塊。通常,這些靜態塊用於初始化靜態成員。在類載入時,JVM 在主方法之前執行靜態塊。
示例
public class MyClass {
static{
System.out.println("Hello this is a static block");
}
public static void main(String args[]){
System.out.println("This is main method");
}
}輸出
Hello this is a static block This is main method
例項初始化塊
與靜態塊類似,Java 也提供例項初始化塊,該塊用於初始化例項變數,以替代建構函式。
每當你定義一個初始化塊時,Java 會將其程式碼複製到建構函式中。因此,你還可以使用它們在類的建構函式之間共享程式碼。
示例
public class Student {
String name;
int age;
{
name = "Krishna";
age = 25;
}
public static void main(String args[]){
Student std = new Student();
System.out.println(std.age);
System.out.println(std.name);
}
}輸出
25 Krishna
在一個類中,你還可以有多個初始化塊。
示例
public class Student {
String name;
int age;
{
name = "Krishna";
age = 25;
}
{
System.out.println("Initialization block");
}
public static void main(String args[]){
Student std = new Student();
System.out.println(std.age);
System.out.println(std.name);
}
}輸出
Initialization block 25 Krishna
你還可以定義父類中的例項初始化塊。
示例
public class Student extends Demo {
String name;
int age;
{
System.out.println("Initialization block of the sub class");
name = "Krishna";
age = 25;
}
public static void main(String args[]){
Student std = new Student();
System.out.println(std.age);
System.out.println(std.name);
}
}輸出
Initialization block of the super class Initialization block of the sub class 25 Krishna
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP