首页 > 试题广场 >

以下哪个接口的定义是正确的?( )

[单选题]

以下哪个接口的定义是正确的?(

  • interface  B
    { public abstract void print()  {  } ;}
  • interface  B
    { static void print() ;}
  • abstract  interface  B  extends  A1, A2  //A1、A2为已定义的接口
    {private abstract  void  print();}
  • interface  B
          {  void  print();}
A 抽象方法不能有方法体,仔细点可以看到有大括号。
B 接口里的方法只能用 public 和 abstract 修饰,如果你不写也没关系,默认的也是 public abstract 修饰.
C 同上
D 正确
发表于 2017-06-07 09:21:44 回复(4)

虽然说在Java8可以在接口中定义静态方法了(此处定义指的是含body的实现),但是不能只声明,只声明的会被编译器识别为抽象方法,而抽象方法不能用static修饰
所以此题不给出环境,也能正确的选出来

编辑于 2017-07-09 10:57:52 回复(1)
B选项是错的,接口中都是抽象方法,如果又定义了静态方法print(),那是没法调用B. print()的,因为它没方法体
发表于 2017-06-14 10:14:24 回复(0)
A.有方法体错误。 B.jdk1.8中。接口中有static void print(){};和default void print(){};带方法体的方法 C.继承不能多继承,只能但继承,接口可以多继承。
发表于 2017-08-14 16:39:39 回复(0)
方法不能实现~
发表于 2017-06-05 19:46:29 回复(0)
A 抽象方法没有方法体
B 不能用static修饰
C 用implements,还有其他错我不太清楚?
发表于 2017-07-27 15:34:24 回复(1)
选D,
A,接口中方法的默认修饰符时public abstract,抽象方法可是没有方法体的,没有大括号{}
B,JDK8中,接口中的方法可以被default和static修饰,但是!!!被修饰的方法必须有方法体。
C,注意一下,接口是可以多继承的。整个没毛病,和A选项一样,抽象方法不能有方法体
发表于 2018-06-29 11:39:20 回复(1)
JDK1.8中可以有非抽象的普通方法,所以B也可以。

jdk1.8中,下面有关java 抽象类和接口的区别,说法错误的是?
正确答案: B D   你的答案: D (错误)
抽象类可以有构造方法,接口中不能有构造方法
抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法
一个类可以实现多个接口,但只能继承一个抽象类
接口中可以有普通成员变量,抽象类中没有普通成员变量


发表于 2017-09-15 11:02:00 回复(3)
抽象方法不能有方法体。 接口里的方法只能用 public 和 abstract 修饰,如果不写则默认为public abstract 修饰.
发表于 2019-08-04 10:16:33 回复(0)
static修饰的方法要有方法体
发表于 2019-07-23 21:31:33 回复(0)
A: 抽象方法不能有方法体
B: static/default(java1.8之后加入)方法应该有方法体
C: 接口中的抽象方法只能用public修饰

发表于 2019-07-10 16:32:39 回复(0)
接口里的方法只能用 public 和 abstract 修饰,如果你不写也没关系,默认的也是 public abstract 修饰.
发表于 2019-05-11 11:40:45 回复(0)
接口中的抽象方法规范规范的规范
发表于 2019-04-20 23:26:47 回复(0)
虽然说在Java8可以在接口中定义静态方法了(此处定义指的是含body的实现),但是不能只声明,只声明的会被编译器识别为抽象方法,而抽象方法不能用static修饰
发表于 2019-03-19 16:57:19 回复(0)
C选项的 extends 也不对吧,不应该是实现接口,而不是继承吗。
发表于 2019-02-19 08:55:15 回复(0)
抽象方法没有方法体,由protected abstract修饰词修饰
发表于 2019-02-10 00:36:46 回复(0)
抽象方法里边不能含有方法体,所以A错
接口里边的方法默认是public abstract的,不写也没有关系
发表于 2019-01-15 17:23:34 回复(0)
A,抽象类的内部方法不能有大括号,不信你可以拿到Eclipse试试看。
B,抽象类的内部方法修饰符不能是static,可以是abstractpublic
C,不能用private修饰符,所以错

发表于 2018-11-14 08:31:31 回复(0)
抽象方法不能有方法体,仔细点可以看到有大括号。 接口里的方法只能用 public 和 abstract 修饰,如果你不写也没关系,默认的也是 public abstract 修饰.
发表于 2018-09-03 15:02:17 回复(0)
在jdk1.8之后,接口中若default和static修饰同一个抽象方法,那么这个方法需要有方法体。
发表于 2018-08-13 15:47:52 回复(0)