首页 > 试题广场 >

默认类型等价表示是哪一项:

[单选题]
public interface IService {String NAME="default";}
默认类型等价表示是哪一项:
  • public String NAME="default";
  • public static String NAME="default";
  • public static final String NAME="default";
  • private String NAME="default";
接口中的变量默认是public static final 的,方法默认是public abstract 的
发表于 2015-10-16 13:54:45 回复(14)
手机上答案看不完整好无语
发表于 2021-10-20 19:18:39 回复(0)
接口中声明的数据成员,默认是public static final 的。并且interface只能被public ,abstract修饰。  这里的数据成员修饰符也就是public。
发表于 2016-04-05 18:49:08 回复(0)
C
发表于 2015-10-16 10:31:39 回复(0)

在interface里面的变量都是public static final 的。所以你可以这样写:
public static final int i=10;
或则
int i=10;(可以省略掉一部分)

注意在声明的时候要给变量赋予初值

解释:

首先你要弄清接口的含义.接口就是提供一种统一的’协议’,而接口中的属性也属于’协议’中的成员.它们是公共的,静态的,最终的常量.相当于全局常量.
抽象类是不’完全’的类,相当于是接口和具体类的一个中间层.即满足接口的抽象,也满足具体的实现.
如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。有的人会说了,没有关系,可以通过实现接口的对象的行为来修改接口中的属性。这当然没有问题,但是考虑这样的情况。如果接口A中有一个public访问权限的静态变量a。按照Java的语义,我们可以不通过实现接口的对象来访问变量a,通过A.a = xxx;就可以改变接口中的变量a的值了。正如抽象类中是可以这样做的,那么实现接口A的所有对象也都会自动拥有这一改变后的a的值了,也就是说一个地方改变了a,所有这些对象中a的值也都跟着变了。这和抽象类有什么区别呢,怎么体现接口更高的抽象级别呢,怎么体现接口提供的统一的协议呢,那还要接口这种抽象来做什么呢?所以接口中不能出现变量,如果有变量,就和接口提供的统一的抽象这种思想是抵触的。所以接口中的属性必然是常量,只能读不能改,这样才能为实现接口的对象提供一个统一的属性。

通俗的讲,你认为是要变化的东西,就放在你自己的实现中,不能放在接口中去,接口只是对一类事物的属性和行为更高层次的抽象。对修改关闭,对扩展(不同的实现implements)开放,接口是对开闭原则的一种体现。
编辑于 2019-01-15 22:14:09 回复(12)
接口中的成员包括:全局常量和抽象方法。接口中的成员都有固定的修饰符, 成员变量:public static final 成员方法:public abstract 接口中的成员的访问权限都是公共的,接口中可以隐藏不写这些固定的修饰符。接口不可以实例化,只有子类重写了接口中的所有方法后,子类才可以实例化,否则子类还是一个抽象类。子类重写方法的访问权限都是public的。
编辑于 2016-09-05 21:30:09 回复(0)
接口中声明的数据成员,默认是public static final 的。并且interface只能被public ,abstract修饰。  这里的数据成员修饰符也就是public。
发表于 2015-11-09 20:21:19 回复(2)
答案:C
接口中的变量默认是public static final 的,方法默认是public abstract 的。
发表于 2015-11-04 17:01:30 回复(0)
接口中的变量默认是psf

发表于 2022-03-14 23:56:08 回复(0)
此题答案选择 C Jdk 1.8 之前默认接口内变量前缀为: public static final 1.8之后借口哪变量可以为静态和默认修饰符(default)
发表于 2022-03-07 15:43:43 回复(0)
接口的定义:接口就是一个规定,没有为什么,就是这样的。
1.对于接口这个来说:接口只能用public或无修饰符修饰(系统会自动为其加上public,与抽象类形同)
2.对于接口成员来说:
                                (1) 成员变量只能是静态成员常量(有人问不是可以不加修饰吗?比如在接口中加入int Max=0,可以实现这个接口并改变MAX值,可以发现这个值是不能改变的,也就是说系统会自动加上public static final 修饰符,如果是public static int Max = 0;系统也会自动改为静态常量,自己试过的。)
                                (2)没有构造方法,没有初始化块。
                                (3)成员方法
                                             (只能是 public修饰的 抽象方法 ( 如果不加修饰符系统自动添加为public,因为自己加上default后不行,亲测 ) 
                                             (只能是默认修饰符修饰的普通方法)(必须用default修饰,没有default不行,系统不会自动添加,亲测)     
                                             (只能是public修饰的静态方法)(不加系统会自动添加为public)           

发表于 2016-07-28 10:25:32 回复(2)
接口中的方法默认是public abstract,常量默认是public static final
发表于 2016-03-09 09:28:57 回复(0)
变量默认public statis final
发表于 2022-01-16 14:41:00 回复(0)
接口中的变量默认:
public static final 变量;
方法:
public abstract method()
发表于 2021-11-06 11:25:40 回复(0)

对接口(interface)的认识: =》 可以通过接口和抽象类之间的比较来掌握

第一:从接口和抽象类【设计目的】分析
接口类似于一种规范用来约束类的行为,对于实现该接口的各个类其共同行为的内部实现不加以限制
抽象类的设计目的主要是代码复用
各个子类中具有共同行为但其实现相同但将其设计为带有具体实现的方法放在抽象类中
各个子类中具有共同行为但其实现不同将该行为设计为抽象方法放在抽象类中

第二: 从各自在Java中的【使用情况】来看
①Java支持单继承多实现,所以一个类仅能继承一个抽象类但可以实现多个接口 【单继承多实现
②接口中成员变量默认修饰符是public static final而抽象类中的成员变量可以是可种类型【成员变量修饰符
③接口中只包含方法的声明没有方法的实现,抽象类中既可以由抽象方法也可以有具体实现的方法【方法是否实现
④接口中不能含有静态代码块以及静态方法,抽象类可以有静态代码块和静态方法【静态代码块和静态方法
            jdk1.8以后接口允许存在静态方法和默认的实现方法(修饰符是default)
            jdk1.9以后接口允许使用private修饰方法实现代码封装


编辑于 2021-06-26 13:57:12 回复(0)
接口中的变量默认是public static final 的,方法默认是public abstract 的
发表于 2021-04-27 15:10:54 回复(0)
接口中默认是public static final修饰,方法默认是public static
发表于 2019-04-27 18:30:11 回复(0)
接口中声明的数据成员,默认是public static final
发表于 2022-03-11 10:35:03 回复(0)
接口的访问修饰符是public,且这个接口中唯一的字段name是String,所以public String这两个必须有,排除D选项,接口中的字段name在其他类中可以通过IService.name来使用所以必须有static,所以排除A选项,最后name的值必须在定义时给定,所以属于final修饰,排除B选项,最后选择C选项。
发表于 2023-08-22 20:15:33 回复(0)
interface 变量默认是 public static final修饰的
发表于 2023-08-07 09:22:58 回复(0)