首页 文章资讯内容详情

在Java中有多少种方法可以初始化类的实例变量?

2026-06-04 1 花语

您可以使用最终方法,构造函数或实例初始化块来初始化类的实例变量。

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