首页 > 试题广场 >

下面字段声明中哪一个在interface主体内是合法的? (

[单选题]

下面字段声明中哪一个在interface主体内是合法的? ()

  • private final static int answer = 42;
  • public static int answer = 42;
  • final static answer = 42;
  • int answer;
在接口中,属性都是默认public static final修饰的,所以:
    A(错误):不能用private修饰;
    B(正确):在接口中,属性默认public static final,这三个关键字可以省略;
    C(错误):没写属性的类型;
    D(错误):final修饰的属性必须赋值;
发表于 2019-07-15 23:13:55 回复(6)
接口中的属性在不提供修饰符修饰的情况下,会自动加上public static final
注意(在1.8的编译器下可试):
(1)属性不能用private,protected,default 修饰,因为默认是public
(2)如果属性是基本数据类型,需要赋初始值,若是引用类型,也需要初始化,因为默认有final修饰,必须赋初始值;
(3)接口中常规的来说不能够定义方法体,所以无法通过get和set方法获取属性值,所以属性不属于对象,属于类(接口),因为默认使用static修饰。
编辑于 2019-08-12 07:41:41 回复(5)
我估计有些马大哈没看数据类型选了C
发表于 2019-09-06 15:38:34 回复(21)
在Java接口中,不论是否显式修饰:
  • 成员变量都是默认必须同时使用public final static 修饰,即必须为公有静态常量
  • 非静态方法都默认必须同时使用public abstract修饰,即必须为公有抽象方法
  • 静态方法都默认必须使用public static修饰。即必须为公有静态方法
编辑于 2020-11-23 22:44:21 回复(0)
JDK1.7接口内容:
抽象方法:public  abstract 返回值类型  方法名(参数);    (public  abstract  可以省略,可以全部省略,也可以省略某一个
常量:public static final  类型 变量名 = 值;    (public static final  可以省略,可以全部省略,也可以省略某一个
1.8:
默认方法:public  default  返回值类型  方法名(参数){方法体}      public  可以省略,default不能省略
       接口的默认方法,可以直接使用实现类的对象进行调用也可以在实现类中对其进行覆盖重写。
静态方法:public  static  返回值类型  方法名(参数){方法体}      public  可以省略,static不能省略
       因为静态方法不可以实例化,在接口中也是一样的所以在接口中定义静态方法的作用就是静态方法的作用,不需要实例化,直接使用,节省内存空间。
1.9:
私有方法:private  返回值类型  方法名(参数){方法体}   (不能省略private)

发表于 2020-04-11 00:26:47 回复(5)
B答案缺少final吧
发表于 2019-07-03 15:43:41 回复(5)
c答案少了answer的类型int
发表于 2019-07-10 12:45:53 回复(0)
在接口中,属性都是默认public static final修饰的,所以:     A(错误):不能用private修饰;     B(正确):在接口中,属性默认public static final,这三个关键字可以省略;     C(错误):没写属性的类型;     D(错误):final修饰的属性必须赋值;
发表于 2021-10-31 17:14:46 回复(0)
B(正确):在接口中,属性默认public static final,这三个关键字可以省略;     C(错误):没写属性的类型;     D(错误):final修饰的属性必须赋值;
发表于 2019-10-09 00:35:21 回复(0)
在接口中,属性都是默认public static final修饰的,所以:     A(错误):不能用private修饰;     B(正确):在接口中,属性默认public static final,这三个关键字可以省略;     C(错误):没写属性的类型;     D(错误):final修饰的属性必须赋值;
发表于 2022-10-24 00:18:14 回复(0)
接口中声明的变量默认被public static final所修饰,修饰之后接口的变量就为常量,因为被static修饰,所以可以接口名.变量名调用,接口中只能是抽象方法,没有get/set方法
发表于 2022-03-16 19:42:36 回复(0)
在接口中,属性都是默认的 public static final修饰的,所以。。
发表于 2021-07-12 10:06:13 回复(0)
final 修饰的属性必须赋值!!!
发表于 2020-04-16 23:30:45 回复(0)
接口中属性默认都是public static final 
发表于 2020-02-10 21:02:28 回复(0)
在接口中,属性都是默认public static final修饰的
发表于 2023-05-28 21:53:32 回复(0)
在接口中,属性都是默认public static final修饰的,所以:
    A(错误):不能用private和protected修饰;
    C(错误):属性的类型不能省略因为Java是强类型语言;
    D(错误):final修饰的属性必须赋值。
发表于 2021-07-25 14:48:01 回复(1)
接口内的成员变量都是 默认public static final修饰的
接口没有构造方法,因为接口主要是扩展功能的,而没有具体存在.
因此接口不能实例化,只能通过创建接口的实现类来使用.
接口的成员方法:
            抽象方法: public abstract 
            默认方法: public default 返回值类型 方法名(参数列表){}   用于解决接口升级问题,
            静态方法: public static 返回值类型 方法名(参数列表){}   静态方法只能通过接口名调用,不能通过实现类或者对象名调用
            私有方法: 1. private 返回值类型 方法名(参数列表){}  2. private static 返回值类型 方法名(参数列表){}  当两个默认方法或者静态方法中包含一段相同的代码实现时,程序必然考虑将这段实现代码抽取成一个共性方法,而这个共性方法是不需要让别人使用的,因此用私有给隐藏起来.
发表于 2021-02-25 19:49:11 回复(0)
在接口中,属性都是默认public static final修饰的,所以:     A(错误):不能用private修饰;     B(正确):在接口中,属性默认public static final,这三个关键字可以省略;     C(错误):没写属性的类型;     D(错误):final修饰的属性必须赋值;
编辑于 2024-03-08 10:52:57 回复(0)
接口是public static final都可以省略
发表于 2024-02-16 00:02:13 回复(0)
在接口中,属性默认是用public static final 修饰的。
发表于 2023-09-16 17:36:35 回复(0)