本文目錄一覽:
java構造代碼塊的作用
//構造塊:直接在類中定義且沒有加static關鍵字的代碼塊稱為{}構造代碼塊。構造代碼塊在創建對象時被調用,每次創建對象都會被調用,並且構造代碼塊的執行次序優先於類構造函數。
public class CodeBlock02
{
{
System.out.println(“第一代碼塊”);
}
public CodeBlock02(){
System.out.println(“構造方法”);
}
{
System.out.println(“第二構造塊”);
}
public static void main(String[] args){
new CodeBlock02();
new CodeBlock02();
new CodeBlock02();
}
}
/**
執行結果:
第一代碼塊
第二構造塊
構造方法
第一代碼塊
第二構造塊
構造方法
第一代碼塊
第二構造塊
構造方法*/
java中靜態代碼塊的作用跟用法
Java靜態代碼塊的作用:Java靜態代碼塊中的代碼會在類加載JVM時運行,且只被執行一次,也就是說這些代碼不需要實例化類就能夠被調用。一般情況下,如果有些代碼必須在項目啟動的時候就執行的時候,就需要使用靜態代碼塊。
Java靜態代碼塊的用法:一個類可以使用不包含在任何方法體中的靜態代碼塊,當類被載入時,靜態代碼塊被執行,且只被執行一次,靜態塊常用來執行類屬性的初始化。例如:
static
{
int a=0;
}
Java常見代碼塊的作用與區別
1. 局部代碼塊
作用在方法當中,作用是控制變量的生命周期:
public void show(){
{
System.out.println(“局部代碼塊運行!”);
}
}123456
在程序中當我們定義完成一個局部變量x之後,並且在接下來的代碼中,不想再用到它時,那麼就沒必要讓x在內存中繼續佔用空間。因此就有了局部代碼塊。
2. 構造代碼塊
作用在類的定義Body中,作用是給類的部分字段統一初始化:
public class Apple {
private String size;
//構造代碼塊
{
System.out.println(“構造代碼塊運行!”);
size = “E”;
}
}
12345678910
構造代碼塊與構造函數的區別是:構造代碼塊是給所有對象進行統一初始化,而構造函數是給對應的對象初始化,因為構造函數是可以多個的,運行哪個構造函數就會建立什麼樣的對象,但無論建立哪個對象,都會先執行相同的構造代碼塊。也就是說,構造代碼塊中定義的是不同對象共性的初始化內容。所以理所當然的,構造代碼塊在構造函數之前執行。
3. 靜態代碼塊
作用有兩個:
(1)給類的靜態變量賦值;
(2)聲明靜態變量;
作用在類的Body中,對類中的靜態變量初始化:
public class APP {
static int x, y; // 靜態變量
static {
x = 5; // 給靜態變量x賦值
}
public static void myMethod() {
y = x++ + ++x; // x++ 先使用x的值再加1;++x先加1再使用x的值
}
public static void main(String[] args) {
x–;
myMethod();
System.out.println(x + y + ++x);
}
}
輸出:23
java構造代碼塊的作用是什麼?
//構造塊:直接在類中定義且沒有加static關鍵字的代碼塊稱為{}構造代碼塊。構造代碼塊在創建對象時被調用,每次創建對象都會被調用,並且構造代碼塊的執行次序優先於類構造函數。\x0d\x0a\x0d\x0apublic class CodeBlock02\x0d\x0a{\x0d\x0a\x0d\x0a {\x0d\x0a\x0d\x0a System.out.println(“第一代碼塊”);\x0d\x0a \x0d\x0a }\x0d\x0a\x0d\x0apublic CodeBlock02(){\x0d\x0a System.out.println(“構造方法”);\x0d\x0a }\x0d\x0a \x0d\x0a {\x0d\x0a\x0d\x0a System.out.println(“第二構造塊”);\x0d\x0a }\x0d\x0a public static void main(String[] args){\x0d\x0a new CodeBlock02();\x0d\x0a new CodeBlock02();\x0d\x0a new CodeBlock02();\x0d\x0a \x0d\x0a }\x0d\x0a} \x0d\x0a\x0d\x0a/**\x0d\x0a執行結果:\x0d\x0a第一代碼塊\x0d\x0a第二構造塊\x0d\x0a構造方法\x0d\x0a第一代碼塊\x0d\x0a第二構造塊\x0d\x0a構造方法\x0d\x0a第一代碼塊\x0d\x0a第二構造塊\x0d\x0a構造方法*/
Java 邏輯代碼塊是什麼
java邏輯代碼塊是指使用{}大括號內的代碼片段,為了實現某種邏輯和主類區分開來的一段代碼。分為靜態代碼塊、普通代碼塊,示例如下:
/**
* 靜態代碼塊先於構造器執行 普通塊先於構造塊 只執行一次
* 凡是靜態的與對象無關,先於對象存在的; 凡是靜態的都是共享的
*
*/
public class Test {
static {//靜態代碼塊
System.out.println(“static”);
}
{
System.out.println(“普通塊2”);
}
public Test() {
System.out.println(“構造器”);
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/200556.html