首页 > 试题广场 >

下列描述错误的是?

[不定项选择题]
下列描述错误的是?
  • 类只能继承一个父类,但是可以实现多个接口
  • 抽象类自身可以定义成员而接口不可以
  • 抽象类和接口都不能被实例化(忽略匿名内部类)
  • 一个类可以有多个父类和多个基接口
A、java为单继承,多实现。可以实现多个接口。
B、
接口允许定义成员,但必须是常量。
C、
抽象类和接口类的无法实例化,任何编译器中直接使用new会报错。
D、A,单继承,多实现。
编辑于 2016-02-24 16:37:54 回复(22)
个人感觉D选项在基类之前加上“直接”二字会更严谨一些。一个类是可以有多个父类的,只不过只能有一个直接父类。
发表于 2017-03-30 21:35:39 回复(10)
java 接口中可以定义成员变量,且必须是 static final的
发表于 2015-09-01 00:47:49 回复(9)
c++......

发表于 2020-08-05 14:41:38 回复(0)
A  类只能继承一个父类,但是可以实现多个接口
C  抽象类和接口都不能被实例化  
这两个是对的
发表于 2016-01-08 15:05:55 回复(0)
考察 Java 类、抽象类 和 接口 相关基础知识。
对于面向对象编程来说,抽象是它的四大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。接口和抽象类为我们提供了一种将接口与实现分离的更加结构化的方法。并且,抽象类和接口的存在就是为了被继承和实现的,所以它们的只能被 public 或 默认修饰符 修饰。总的来说,抽象类是一种模板,而接口是一种契约.

更多关于 “Java 接口与抽象类 ” 的更详细的阐述,请查看我的博文 “http://blog.csdn.net/justloveyou_/article/details/52944564”。欢迎留言,欢迎指教!
发表于 2016-12-11 11:29:03 回复(0)
A,很对。C,完美。
哎怎么错了……
选错误的,那没事了
发表于 2022-03-22 10:07:02 回复(0)
天知道,为什么我做的c++的专项练习,会遇到这题
发表于 2020-09-02 10:39:01 回复(0)
首先理解什么是成员吧
成员也就是说一个类中的属性:成员变量
而成员变量又分为实例变量和静态变量
试问:接口不是全都是静态变量吗?又怎么说接口没有成员了?
所以B是错的

发表于 2017-01-10 20:35:00 回复(0)
A、D:Java只允许为类的扩展做单一继承,但是允许使用接口做多重扩展
B:接口中所有的数据域都是public final static
C:抽象类和接口都不能使用new操作
发表于 2015-09-16 11:02:28 回复(0)
我感觉这道题目有点问题。
D肯定不对,Java不支持多继承,只能有一个基类,但对于B选项:
接口中定义的成员变量默认为public static final,只能够有静态的不能被修改的数据成员;而且,必须给你赋初值,其所有成员方法都是public、abstract的,而且只能被这两个关键字修饰。
接口中不能定义“一般的成员”吧。
只能这样理解了。
编辑于 2015-07-26 14:40:16 回复(0)
发表于 2021-07-09 20:48:59 回复(0)
如果一个类中包含抽象方法。那么这个类就是抽象类。
在java中,可以把类或类中的方法声明为abstract来表示一个类是抽象类。
只要包含一个抽象方法的类就必须倍声明为抽象类。抽象类可以声明方法的存在而不去实现它,被声明为抽象的方法不能包含方法体。在实现抽象方法时,必须包含相同或者更低的访问级别(public→protected→private)抽象类在使用过程中不能被实例化,但是可以创建一个对象,使其指向具体子类的一个实例。抽象类的子类为父类中所有抽象方法提供具体的实现,否则它们也是抽象类。

接口(interface)就是指一个方法的集合,接口中的所有方法都没有方法体。
接口可以看作抽象类的变体。接口中的所有方法都是抽象的,可以通过接口来间接实现多重继承。接口中的成员变量都是static final类型。

接口与抽象类的相同点:
1.都不能被实例化。
2.接口的实现类或抽象类的子类都只有实现了接口或抽象类中的方法后才能被实例化。

接口与抽象类的不同点:
1.接口只有定义,其方法不能在接口中实现,而抽象类可以有定义与实现,即其方法可以在抽象类中被实现。
2.接口需要实现(implements),抽象类只能被继承(extends)。一个类可以实现多个接口,但一个类只能继承一个抽象类。
3.接口强调特定功能的实现,而抽象类强调所属关系。
4.接口中定义的成员变量默认为public static final,只能怪有静态的不能被修改的数据成员,而且必须给其赋初值,其所有成员方法都是public,abstract的。且只能被这两个关键字修饰。
而抽象类可以有自己的数据成员变量,也可以有非抽象的成员方法,而且抽象类的成员变量可以被定义为private,protected,public。这些成员变量可以在子类中被重新定义,也可以被重新赋值。抽象类的抽象方法不能用private,static,synchronized,native等访问修饰符修饰,同时其方法必须以分号结尾,并且不带花括号。
5.接口运用于实现比较常用的功能,便于日后维护;抽象类倾向于充当公共类的角色,不适用日后对里面代码的维护。

作者:skyhung
链接:https://www.jianshu.com/p/af21418fbd14
发表于 2020-09-07 22:02:57 回复(0)
Hashset在判断是否重复时,按如下机制进行工作 当调用了 HashSet 的 add 方法存放对象 obj , HashSet 会首先调用 obj 的 hasCode 方法得到该对象的哈希码, HashSet 会使用一个 算法把它的哈希码转换成一个数组下标,该下标“标记”了
obj 的位置。如果这个位置上的链表中没有元素,那么就把 obj 对象添加到链表上。如果这个位置上的链表中已经有了元素,则遍历这个链表,调用 obj 的 equals 方法,判断 obj 是否和其中的某个元素重复,如果没有重复的元素,那么就将 obj 添加到链表上;如果有重复的元素,则不会将 obj 对象存入 HashSet 中。另外自定义子类是继承了Object类的,其中判断重复的equals方法也是继承了父类的
发表于 2015-10-25 22:25:22 回复(0)
类只能继承一个父类,但是可以实现多个接口;
基类就是父类,基接口就是实现的接口;
接口只能是声明,实现类实例化
发表于 2015-08-28 10:48:13 回复(1)
A容易产生歧义。。。

发表于 2015-08-19 17:20:59 回复(3)
含有抽象方法的类叫抽象类,需要累积功能的场景建议使用抽象类,
C选项抽象类和接口确实不能直接实例化【实例化含义:使用关键字进行new操作】,但是可以通过实现接口的类或者继承了抽象类的子类来去实例化抽象类和接口
接口实现逻辑has a  抽象类的实现逻辑是is a
发表于 2016-09-26 16:35:52 回复(0)
抽象类和接口都可以自定义自己的成员!
发表于 2016-08-11 09:49:10 回复(2)
答案:D
只有一个基类
发表于 2015-01-04 12:51:15 回复(0)
B选项出的不好,成员可以有很多解释,比如静态成员方法,实例成员方法,实例成员变量,静态成员变量
编辑于 2023-12-12 18:43:09 回复(0)