首页 > 试题广场 >

下面代码的运行结果是( ) public clas

[单选题]
下面代码的运行结果是( )
public class Arraytest{
    int a[] = new int[6];
    public static void main ( String arg[] ) {
        System.out.println ( a[0] );
    }
}


  • null
  • 0
  • 编译出错
  • 运行出错
在static方法中是不能访问非静态变量 a 的,需要将 a 声明为static,答案才会是 0 ,否则是编译出错
发表于 2017-02-22 20:46:37 回复(19)
在java中静态方法中不能使用非静态方法和非静态变量。但非静态方法中可以使用静态变量
发表于 2017-09-03 19:38:29 回复(0)
啊 好难受  我还以为在这里考的是创建的int类型的数组,其中元素默认值是0。
发表于 2021-08-13 20:22:00 回复(2)
忘记main方法是静态方法了(静态方法不能直接访问非静态变量,要访问需先创建对象)
发表于 2021-04-20 09:47:05 回复(0)
main方法也是static方法,所以只能访问静态变量,不能访问非静态变量a,解决办法1.将数组a声明为静态数组2.或者在main方法new一个Arraytest的实例,然后通过对象去调用非静态变量。然后数组的初始值为0不是null。
发表于 2021-10-27 09:34:58 回复(0)
静态方法不能访问非静态成员
发表于 2021-12-29 12:33:21 回复(0)
根据类加载顺序,static修饰的成员可以说是在很前面就被加载了(在加载,连接,初始化。连接分为:验证,准备,解析),在准备的时候对static修饰的成员进行默认初始化,在初始化阶段进行显示初始化。可以说是很前面了,在static方法里面,是不能直接访问普通成员变量的,类加载顺序而言,此时普通成员变量还没被加载,根本拿不到,所以说要通过new对象点来访问,因为要完成初始化。
发表于 2022-05-23 23:02:12 回复(0)
静态方法不能使用非静态
发表于 2022-04-15 19:19:40 回复(0)
静态方法不能访问实例变量、实例方法!静态方法中也不能出现this
发表于 2022-06-06 22:28:22 回复(0)
main方法为静态方法,而数组a为非静态变量。静态方法中不能直接调用非静态方法和非静态变量。
发表于 2021-05-07 14:21:39 回复(0)
在java中静态方法中不能使用非静态方法和非静态变量。但非静态方法中可以使用静态变量
发表于 2021-04-15 11:25:57 回复(0)
静态方法不能直接访问非静态变量,需要实例化对象才能借助对象访问非静态变量
发表于 2021-03-02 17:16:41 回复(0)
public class test1 {
static int a[] = new int[6];
public static void main ( String arg[] ) {
System.out.println ( a[0] );
}
}
发表于 2017-02-20 21:26:20 回复(2)
静态方法不能访问非静态变量
发表于 2022-03-21 17:30:42 回复(0)
static方法不能直接访问本类中非static声明的变量或方法
发表于 2021-03-13 22:48:59 回复(0)
在java中静态方法中不能使用非静态方法和非静态变量
发表于 2017-09-04 14:59:58 回复(0)
静态方法中不能访问非静态变量,非静态方法可以访问静态变量
发表于 2023-04-12 11:39:02 回复(0)
Java中的静态方法不能访问非静态变量,如果这个数组是静态的,那么结果就是0
发表于 2023-02-25 23:02:42 回复(0)
静态方法不能直接访问非静态变量,只能先定义再调用
发表于 2022-12-01 15:04:03 回复(0)