To ensure that the variables creditAmount and debitAmount cannot change once assigned, the final keyword should be used. Option B: Use the final keyword and assign its value in the class constructor. Declaring a variable as final allows it to be assigned once. Assigning the value in the constructor is acceptable for instance variables. Option D: Use the final keyword and assign its value when declaring the variable. Assigning the value at declaration ensures it cannot be changed later. Why Not Other Options: Option A: Using static with assignment in the constructor is invalid because static variables belong to the class, not instances. Option C: Using static and assigning in a static initializer doesn't prevent reassignment unless final is also used. Reference: Final Variables: "You can declare instance variables as final. A final variable can only be assigned a value once, either when you declare it or in the constructor." - Apex Developer Guide: Classes, Objects, and Interfaces