首页 > 试题广场 >

下面的程序输出的结果是( )

[单选题]
下面的程序输出的结果是( )
public class A implements B{
    public static void main(String args[]){
        int i;
        A a1=new  A();
        i =a1.k;
        System.out.println("i="+i);
    }
}
interface B{
    int k=10;
}



  • i=0
  • i=10
  • 程序有编译错误
  • i=true
在接口里面的变量默认都是public static final 的,它们是公共的,静态的,最终的常量.相当于全局常量,可以直接省略修饰符。
实现类可以直接访问接口中的变量
发表于 2017-06-03 16:32:25 回复(8)
一个类实现某个接口时,该类将会获得接口中定义的变量、抽象方法等。因此可以把实现接口理解为一种特殊的继承,相当于实现类继承了一个接口。
发表于 2018-02-09 21:56:11 回复(2)
接口中不存在变量,只有常量,默认为public static final,要么不写,要么只能出现这个修饰词中的一个或多个这个来修饰“变量”
发表于 2017-08-18 20:47:09 回复(0)
考点:Java接口属性,默认可以省略public static final
发表于 2018-09-29 09:26:48 回复(0)
发表于 2017-06-01 22:19:15 回复(5)
这个编译能通过你打死我! 
I =a1.k;I 这玩意根本没有定义过
发表于 2017-05-26 11:14:46 回复(17)
接口中定义的变量默认是public static final 因此当a被实例化的时候,a就拥有值为10类型为int的k
发表于 2017-05-20 13:30:41 回复(0)
所有的局部变量单词的被定义是可以编译通过的,但是如果代码中有不赋值的使用就会编译报错
像这样for(;;){
int i;
System.out.println(i);
}
但是所有的全局变量是有默认值不会报错的,全局变量在类初始化的时候会被虚拟机赋默认值,而局部变量却不会。
如果只是单纯的定义为什么不会报错呢?只定义不使用没有被压入栈中,所有的报错都是在栈中产生的。
编辑于 2017-09-14 10:23:07 回复(1)

java接口中变量的默认修饰符为 public static final
接口里的变量相当于全局常量,可不写修饰符.

java接口中方法的默认修饰符为 public abstract

发表于 2020-08-06 13:51:23 回复(1)
就我注意到那个接口int k=10;的逗号不是英文逗号吗??????????????
发表于 2022-03-05 15:47:27 回复(2)
很少用接口里继承的成员orz
发表于 2020-12-28 10:45:33 回复(0)
1、接口中变量默认的是public static final
2、成员变量必须初始化,但初始化可以在使用前初始化就行了
发表于 2020-05-15 21:35:30 回复(0)
i局部变量不用初始化吗?
发表于 2017-10-05 14:00:57 回复(0)
如果你复制了代码,就会知道“int k=10;”那一句的分号是中文分号,实际会编译错误。
发表于 2022-05-13 11:37:13 回复(1)
不能通过接口实现类的对象来调用接口当中的静态方法,但却可以用实现类对象调用接口中的常量。
正确用法:通过接口名称,直接调用其中的静态方法。 接口名称.静态方法名(参数)
发表于 2021-05-19 20:25:37 回复(0)
final修饰变量,为10
发表于 2018-04-14 17:33:15 回复(1)
接口中定义的变量都是常量,编译时默认是public ,static,final修饰,因此其实现类的对象可以直接访问
发表于 2017-07-11 22:12:02 回复(0)

1.接口的修饰符只能是public和默认,和类是一样的

2.接口中的属性是 public static final 的,且必须进行初始化

3.接口中的方法是public的且是抽象的,不能带方法体。(默认public abstract修饰 ),但是可以有静态方法和default修饰的方法,这两种可以有方法体。

发表于 2024-04-16 21:47:55 回复(0)
主方法里的i也要初始化否则会编译错误。所以我选的c
这道题想说实现了接口就会继承接口里的方法和局部变量。因为他们都默认是public static final修饰的,可以放心使用。
发表于 2023-07-21 15:09:26 回复(1)
接口中不存在变量,只有常量,默认为public static final,要么不写,要么只能出现这个修饰词中的一个或多个这个来修饰“变量”,而接口的实现类可以继承,因为是常量,所以在子类里,不能重新赋值,可以调用
发表于 2023-05-22 09:55:39 回复(0)