在分配了最终变量之后,是否可以更改最终变量?

问题描述 投票:-2回答:1
import java.util.Scanner;

public class OnlineShop {

  public static void main (String[]args) {

    final double subAmmount;

    subAmmount = subAmmount + Array[i];
}

错误:

The final local variable subAmmount may have already been assigned

java arrays variables final
1个回答
0
投票

因为subAmount未声明为static,所以必须在声明时将其初始化。所以你应该有这样的东西

import java.util.Scanner;

public class OnlineShop {

  public static void main (String[]args) {

    final double subAmmount = Array[i]; // Assuming Array[i] is defined somewhere
}

如果要在初始化后进行声明,则可以:

import java.util.Scanner;

public class OnlineShop {

  static final double subAmmount;

  public static void main (String[]args) {

    subAmmount = subAmmount + Array[i]; // Assuming Array[i] is defined somewhere
}

检查此link以获得final关键字的更多细微差别


0
投票

“ subAmmount”尚未初始化/设置,因此您不能向其自身添加subAmmount,因为它不等于任何值。

© www.soinside.com 2019 - 2024. All rights reserved.