黑马程序员技术交流社区

标题: 一道选择题搞懵了一群人....求正解 [打印本页]

作者: 花非人陌    时间: 2015-6-7 13:30
标题: 一道选择题搞懵了一群人....求正解
1.下列有关接口的叙述错误的是哪项?()
A.接口中只能包含抽象方法和常量
B.一个类可以实现多个接口
C.类实现接口时必须实现其中的方法
D.接口不能被继承

作者: qian0217wei    时间: 2015-6-7 13:40
应该是选D,接口与接口直接是继承关系,而且接口可以多继承!接口与类直接是实现关系
作者: 花非人陌    时间: 2015-6-7 13:46
qian0217wei 发表于 2015-6-7 13:40
应该是选D,接口与接口直接是继承关系,而且接口可以多继承!接口与类直接是实现关系 ...

那c呢

如果实现类实现了接口,只重写了部分抽象方法,实现类还是一个抽象类

这句话的意思是如果实现类只重写了接口中的部分抽象方法,实现类就不是一个实现类吗.
作者: 时光匆匆    时间: 2015-6-7 14:25
是C吧。抽象类可以定义抽象方法和非抽象方法,实现的话也只是必须实现抽象方法,普通方法可以直接调用了
作者: fecuznmn    时间: 2015-6-7 14:26
花非人陌 发表于 2015-6-7 13:46
那c呢

如果实现类实现了接口,只重写了部分抽象方法,实现类还是一个抽象类

题目没有写要实现全部方法啊。

确实容易引起误解,不过D错得比较明显:D
作者: qian0217wei    时间: 2015-6-7 15:47
楼上已经给出了答案
作者: YongBao_Summer    时间: 2015-6-7 16:38
本帖最后由 YongBao_Summer 于 2015-6-7 16:51 编辑

D错。接口可以继承接口。
但是A好像也不对。搞了一个接口内部的枚举类。
然后实现以下还可以访问。我醉了。
interface EnumS extends Runnable, Comparable<String> {
        @Override
        public int compareTo(String o);

        @Override
        public void run();

        final int a = 1;

        public void s();

        public enum EnumClass {
                // 空的参数调用第一个函数
                Sun, Mon, Tus;
                private EnumClass() {
                }
        }
}

public class Enum implements EnumS{

        @Override
        public int compareTo(String o) {
                // TODO Auto-generated method stub
                return 0;
        }

        @Override
        public void run() {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void s() {
                // TODO Auto-generated method stub
                EnumS.EnumClass s = null;
                System.out.println(s.Mon);
        }
        public static void main(String[] args) {
                Enum e = new Enum();
                e.s();
        }
       
}


作者: world.net    时间: 2015-6-7 16:59
然而并没有说是单选题。
作者: 邂逅流星雨    时间: 2015-6-7 19:50
当一个类实现接口时,如果这个类是抽象类,就实现其中的部分方法即可,否则就需要实现其中的所有方法。然而题中并没有说必须实现其中的所有方法。所以c没有问题。D错了,接口可以继承接口。
作者: feng0606    时间: 2015-6-7 19:57
这应该是个多选题吧?
作者: YongBao_Summer    时间: 2015-6-7 20:44
有没有终结者出来终结这道题。
作者: gainn    时间: 2015-6-7 21:14
D肯定错!接口可以继承接口,用的也是extends关键字。
C的话,如果是抽象类实现了接口,就可以不用把接口定义的抽象方法实现,所以这个答案也可以算错。
作者: 呆呆呆呆孔    时间: 2015-6-7 21:36
选c,接口的子类,要么实现其所有的抽象方法的实现类,要么是一个抽象类
作者: 柳叶飞刀    时间: 2015-6-7 21:37
A                     
作者: 夏尔    时间: 2015-6-7 22:37
怎么觉得不止一个
作者: Smile小思    时间: 2015-6-8 16:49
D,接口可以被接口继承的
作者: Smile小思    时间: 2015-6-8 17:01
D肯定错了,想了想C也算错,楼上说A错的也有道理,纠结了,继续围观,坐等大神终结
作者: jife94    时间: 2015-6-8 18:11
确定选D啊
作者: Monster    时间: 2015-6-8 18:37
c,抽象类可以不实现接口的方法;
作者: 小车车    时间: 2015-6-8 21:23
接口应该是用实现来说,所以D应该是对的!
作者: 杨凯瑞    时间: 2015-6-11 09:56
我只能说  ACD  都错了   不知道对不对   风险
作者: gincoo    时间: 2015-6-11 10:20
interface,我选D
作者: lucien_he    时间: 2015-6-11 10:22
书面说  实现接口必须实现其所有方法嘛  官方文档   d错了  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2