在静态方法中声明的属性,它们是静态的吗?如何访问它们?

时间:2014-04-27 12:54:54

标签: java methods static

这些局部变量被认为是静态属性吗? 你会如何访问它们?

public static int getTotal() {

   int basket;
   int tax = 5;

   return basket + tax
}

4 个答案:

答案 0 :(得分:2)

变量篮子和税收都是本地的,它是否是静态方法并不重要。

您无法在声明它们的方法之外访问局部变量。

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

答案 1 :(得分:0)

两者都是本地的,只能在方法内部使用。

答案 2 :(得分:0)

字段成员static只有在类的主体中定义并且明确使用static关键字时,才允许static变量。方法!

有关此主题的更多信息,请参阅this页面。

答案 3 :(得分:0)

根据定义,如果您已在方法中声明它,则它不是属性。它只有本地范围,就像任何其他方法级变量一样。如果您想要静态属性,可以在类本身中声明它们:

static int tax;

甚至在静态init块中初始化它们:

static{
        tax = 5; 
      }

然后可以由getTotal方法以及类中的其他方法使用。

我假设您提出这个问题是因为您遇到了一些错误。你的问题不是它是一个静态的方法,看看:

public static int getTotal() {

       int basket =0;
       int tax = 5;

       return basket + tax;
    }

您忘记初始化basket(否则无法编译),您也忘记了最后一行的分号。