在 Java 中,初始化類的例項變數有哪些方法?


您可以使用 final 方法、建構函式或例項初始化塊來初始化類的例項變數。

Final 方法

當您將方法宣告為 final 時,就不能 **重寫** 它。即,您不能在子類中為父類的 final 方法提供實現。

也就是說,將方法宣告為 final 的目的是防止從外部(子類)修改該方法。您還可以使用這些 final 方法來初始化例項變數。

示例

 線上演示

import java.util.Scanner;
public class FinalMethods {
   int age = getAge();
   String name = getName();
   static Scanner sc = new Scanner(System.in);
   public static final int getAge() {
      System.out.println("Enter age value");
      return sc.nextInt();
   }
   public static final String getName() {
      System.out.println("Enter name value");
      return sc.next();
   }
   public void display(){
      System.out.println("Name and age values: ");
      System.out.println(this.name);
      System.out.println(this.age);
   }
   public static void main(String args[]){
      FinalMethods obj = new FinalMethods();
      obj.display();
   }
}

輸出

Enter age value
25
Enter name value
Krishna
Name and age values:
Krishna
25

建構函式

建構函式用於在建立物件時初始化該物件。從語法上看,它類似於方法。區別在於建構函式的名稱與其類相同,並且沒有返回值型別。

無需顯式呼叫建構函式,它們在例項化時會自動呼叫。

示例

 線上演示

public class Test {
   String name;
   int age;
   public Test(String name, int age){
      this.name = name;
      this.age = age;
   }
   public static void main(String args[]) {
      Test obj = new Test("Krishna", 25);
      System.out.println("Name: "+obj.name);
      System.out.println("Age: "+obj.age);
   }
}

輸出

Name: Krishna
Age: 25

例項初始化塊

與靜態塊類似,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

更新於: 2019年9月6日

3K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.