首页 > 试题广场 >

如下代码的输出结果是什么? public class Tes

[单选题]

如下代码的输出结果是什么?

public class Test { 
    public int aMethod(){
        static int i = 0;
        i++; 
        return i;
    } 
public static void main(String args[]){
    Test test = new Test(); 
    test.aMethod(); 
    int j = test.aMethod();
    System.out.println(j);
    } 
}

  • 0
  • 1
  • 2
  • 编译失败
推荐
静态变量只能在类主体中定义,不能在方法中定义
编辑于 2017-03-19 10:42:09 回复(25)
Java中静态变量只能在类主体中定义,不能在方法中定义。 静态变量属于类所有而不属于方法。
发表于 2016-12-27 15:49:05 回复(16)
声明问题
发表于 2021-11-25 10:02:15 回复(0)
静态变量只能在类主体中定义,不能在方法中定义
发表于 2021-11-02 22:57:04 回复(0)
静态变量只能在类中定义
发表于 2021-09-16 23:13:57 回复(0)
静态变量只能在类主体中定义,不能在方法里面定义
发表于 2021-08-26 12:36:52 回复(0)
静态变量只能在类主体中定义
发表于 2021-08-19 11:59:56 回复(0)
静态变量属于类而不属于方法
发表于 2020-12-25 17:21:03 回复(0)
方法内部定义的变量的作用域在方法"}"之后就结束了,而静态变量的作用域是和类相关的,作用域是全局。故不能在方法内部定义静态的变量。
编辑于 2020-06-11 20:40:46 回复(0)
java静态变量只能在类主体中定义,不能在方法中定义。
原因:由于static静态域在类加载的时候就会被初始化,但是这个时候类的成员方法可能还没有被初始化,却要开始在成员方法内部初始化static静态域,这是矛盾的。
发表于 2019-09-17 17:13:30 回复(0)
静态变量只能定义在类中,不能定义在方法中。因为被static修饰的变量在类加载时候就已经被加载了,它属于整个类,被这个类的所有对象共享。而成员方法属于对象(类的实例),每个对象都有自己的一份拷贝。
发表于 2019-07-31 14:45:03 回复(0)
Java中静态变量只能在类主体中定义,不能在方法中定义。
发表于 2018-07-14 16:56:14 回复(0)
静态变量在方法体中
发表于 2017-03-08 21:08:48 回复(0)

又是修饰符的考题?
我已总结好,欢迎补充:http://blog.csdn.net/dawn_after_dark/article/details/74527137

发表于 2017-07-12 16:37:31 回复(5)
静态变量是先于类的其他而加载的,所以static代码块只能是类成员变量,而不能是局部变量,因为在static加载时,方法还没有分配空间
发表于 2017-02-11 15:29:15 回复(4)
**,C++写多了。。以为java也可以在方法里面定义静态变量了
发表于 2017-02-13 13:39:12 回复(3)
静态变量属于类所有而不属于方法
发表于 2016-12-25 02:38:32 回复(0)
静态变量只能在类主体中定义,不能在方法中定义!
静态变量只能在类主体中定义,不能在方法中定义!
静态变量只能在类主体中定义,不能在方法中定义!
重要的事情说三遍
发表于 2017-07-28 23:23:33 回复(5)
  1. Java中没有静态局部变量一说,也就是局部变量不能加static
  2. 局部变量也不能添加protected, private, public这些访问权限修饰符
  3. 静态变量是定义在类中,方法体外面的
  4. 局部的变量可以用final修饰。
发表于 2018-07-21 20:36:35 回复(0)
D.
错误在static int i = 0;这句,static不能用于局部变量,局部变量是有相对短的生命周期,而static变量的生命周期和整个程序一样,不方便内存回收。Java中不允许定义静态局部变量。
发表于 2017-03-14 19:54:58 回复(0)
静态变量不能在方法体内定义,静态变量不能在方法体内定义,静态变量不能在方法体内定义。
发表于 2017-01-19 21:07:25 回复(0)