首页 > 试题广场 >

下列哪个类的声明是正确的?

[单选题]

下列哪个类的声明是正确的?

  • abstract final class HI{}
  • abstract private move(){}
  • protected private number;
  • public abstract class Car
推荐
A只能有final和abstract的一个,因为final是最终类,不能继承,必须可以创建实例,而abstract是抽象类,只能继承,不有实例。冲突了,所以不对。
B是抽象方法,不能有方法体。所以末尾不是{}而是;才对
C中 访问修饰符只能有一个,而且对象没有类型。
D正确,这是抽象类。

望采纳
编辑于 2017-03-19 20:26:55 回复(8)
A选项,final是最终类,不能被继承;abstrct类是抽象类,只能被继承,两者冲突。 B选项,private修饰符定义的属性及方法不能被子类实现,而抽象类的子类必须实现所有的抽象方法。两者冲突。 C选项,修饰符重复,而且没有定义数据类型。 D选项,正确。
发表于 2017-03-20 10:09:17 回复(0)
抽象方法不能有方法体也就是说不能有花括号,但是抽象类可以有花括号,不能混淆
发表于 2017-07-19 18:46:10 回复(1)
选 D
A、abstract不能和final共用。
B/C、题目要求的是类,BC都是类。
D、正确。

注意:abstract是用来修饰类和方法的:
    1. 修饰方法:abstract不能和private、final、static共用。
    2. 修饰外部类:abstract不能和final、static共用。(外部类的访问修饰符只能是默认和public)
    3. 修饰内部类:abstract不能和final共用。(内部类四种访问修饰符都可以修饰)
发表于 2018-06-27 08:43:01 回复(3)

B的错误在于:
1、含有方法体,抽象方法不能有方法体
2、没有返回值
3、访问修饰符是private,至少去掉private,要不别人继承不了它
提示:abstract放在修饰符前后都没问题。。。测试过

发表于 2017-10-20 15:25:47 回复(1)
请问d选项这么写为什么在idea中报错
发表于 2022-09-03 10:41:38 回复(1)
final是最终类,不能继承,必须可以创建实例,而abstract是抽象类,只能继承,不有实例。
发表于 2021-09-23 09:41:10 回复(0)
对于A选项,使用final修饰的类表示的是最终类,不能被继承;而abstrct类是抽象类,需要被继承,两者冲突,所以abstract和final不能同时修饰一个类。
对于B选项,由于private修饰的方法不能被子类实现,而抽象类的子类必须实现所有的抽象方法。所以private不能修饰抽象方法,抽象方法只能使用protected和public关键字修饰。
对于 C选项,修饰符public、protected、private只需要使用其中一个修饰变量,也可以不适用修饰符,例如int age;所以C选项的修饰符重复,而且没有定义数据类型。
D选项,正确,这是抽象类的通常写法。
编辑于 2018-04-02 17:15:27 回复(0)
a选项:final是不可继承类,abstract是抽象类,必须被子类继承 
b选项:private的属性和方法不能被其他类所调用,而抽象类必须被子类继承实现所有的抽象方法
c选项:修饰符重复
发表于 2017-07-24 21:48:30 回复(1)
  1. A:abstract类不能用final修饰
  2. B:abstract方法需要被子类继承,不能使用private,可以使用public或protected
  3. C:不能同时存在两个访问修饰符
发表于 2019-05-31 16:49:49 回复(0)
A选项,final是最终类,不能被继承;abstrct类是抽象类,只能被继承,两者冲突。 B选项,private修饰符定义的属性及方法不能被子类实现,而抽象类的子类必须实现所有的抽象方法。两者冲突。 C选项,修饰符重复,而且没有定义数据类型。
发表于 2023-05-15 08:57:47 回复(0)
类名要大写
发表于 2021-03-19 08:26:17 回复(0)
请大家评评理,这个答案有对的吗,抽象类没有方法体,但是没有小括号()也能对,所以我不知道选择哪个???
发表于 2019-07-20 11:21:28 回复(1)
The class HI can be either abstract or final, not both,eclipse错误提示,A错
Abstract methods do not specify a body,eclipse错误提示,B错
C也是编译不通过,不过原因目前我不懂。。
D正确
发表于 2016-12-12 23:47:18 回复(5)
只能说没一个是对的
发表于 2023-10-17 07:38:37 回复(0)
抽象类需要类去继承实现,与final本质上冲突
发表于 2022-06-16 01:18:41 回复(0)
是类的声明!!!!做着做着就忘了,稀里糊涂选了B,奇耻大辱!!
发表于 2022-05-05 10:31:16 回复(0)
<p>abstract是抽象类/方法,方法不能有实例</p>
发表于 2020-11-21 22:57:05 回复(0)
A只能有final和abstract的一个,因为final是最终类,不能继承,必须可以创建实例,而abstract是抽象类,只能继承,不有实例。冲突了,所以不对。 B是抽象方法,不能有方法体。所以末尾不是{}而是;才对 C中 访问修饰符只能有一个,而且对象没有类型。 D正确,这是抽象类。
发表于 2020-08-31 16:55:43 回复(0)
抽象类可以有抽象方法和非抽象方法,非抽象类不可以有抽象方法。调用抽象类的方法时,必须要继承抽象类然后重写方法,所以不能把abstract和final,private,static一起使用。
发表于 2020-08-17 19:50:38 回复(0)
抽象类一定是要被继承的。
发表于 2020-07-20 09:39:08 回复(0)