首页 > 试题广场 >

关于抽象类的叙述正确的是?( )

[单选题]

关于抽象类的叙述正确的是?( )


  • 抽象类不可以实例化
  • 抽象类就是一种特殊的接口
  • 抽象类的方法都是抽象方法
  • 抽象类的导出类一定不是抽象类
A选项中,抽象类不能实例化,这句是正确的。后面,抽象类不能申明为对象,是错误的。java中,接口和抽象类,都可以声明为对象,只需要在实例化的时候,用一个该接口/抽象类的实现类实例化就行了。即:
interface / abstract class obj = new class();其中,new后面的class是前面接口/抽象类的实现类。
B选项中,接口是一种特殊的抽象类。其中,成员变量都是默认public static final修饰的,方法都是public abstract修饰的,并且除了default和static的以外,只有声明,没有方法体。
C选项中,抽象类的方法,可以是抽象abstract的,也可以是普通的。就算全部是普通方法,也可以用abstract修饰。
D选项中,导出类,及子类,抽象类的子类可以是抽象的,也可以是普通的。
发表于 2017-08-03 12:07:57 回复(4)
抽象类可以申明对象吧,只是不能实例化

发表于 2017-07-07 20:17:12 回复(0)
抽象类和接口都不能实例化;抽象类可以不包含抽象方法,但是包含了抽象方法一定要声明为抽象类;抽象类可以继承抽象类
发表于 2017-05-27 10:40:57 回复(1)
我有一个疑问: 什么叫做导出类?
发表于 2017-06-06 23:19:21 回复(6)
抽象类其实是可以实例化的,但是他的实例化方式不是通过new方式来创建对象,而是通过父类的引用来指向子类的实例来间接地实现父类的实例化(因为子类要实例化前,一定会先实例化他的父类。这样创建了继承抽象类的子类的对象,也就把其父类(抽象类)给实例化了).但是:接口是不能被实例化的(接口压根就没有构造函数)
发表于 2019-03-06 11:48:56 回复(0)
自己总结的,有遗漏请私我指正,不知道为什么网上都说接口没有Main方法,然而我用IDEA和eclipse是可以的,不知道是不是我理解错了。

jdk1.8之前

接口

1.多实现

2.变量类型默认且只能为为public static final

3.函数类型默认且只能为public,只能有public类型的静态成员函数

4.非静态成员函数没有方法体,静态成员函数有方法体

5.子类必须实现所有接口函数

6.可以有main方法;可以new一个接口,需要在方法体中实现所有接口函数

7.没有构造器

 

抽象类

1.单继承

2.变量类型不限(静态变量+非静态变量)

3.函数类型不限(静态函数+非静态函数)

4.非静态函数包含没有方法体的抽象函数. 有方法体的普通函数

5.子类可以不覆写父类的抽象方法,但子类也要申明为抽象类;子类可以选择覆写父类的非抽象方法

6.可以有main方法;不可以new一个抽象类

7.可以有构造器

 

Jdk1.8

接口中可以有default类型的方法,实现类可以选择实现该方法

意义:默认方法的主要优势是提供一种拓展接口的方法,而不破坏现有代码。另一个优势为该方法是可选的,子类可以根据不同的需求Override默认实现。

发表于 2017-09-07 13:36:59 回复(0)
接口是特殊的抽象类
发表于 2017-06-22 21:14:38 回复(0)
抽象类可以通过其子类的向上造型进行实例化的吧
发表于 2018-03-26 17:14:01 回复(0)
A错了吧,抽象类和接口都可以声明对象,只是不能实例化。
发表于 2017-07-30 14:21:03 回复(0)

垃圾题目,抽象类和接口是可以只声明的,只是不能实例化为对象。

发表于 2017-07-17 15:38:02 回复(0)
A,抽象类不能实例化,可以有非抽象的方法,类是类,接口是接口
发表于 2017-05-24 09:02:59 回复(0)
抽象类和借口不能实例化但是可以创建其对象,比如在使用匿名内部类时,父类有多个抽象方法时,就需要创建其对象进行调用,但是没法传值
发表于 2019-10-14 09:24:51 回复(0)

接口属于抽象类

不可以实例化


发表于 2019-09-06 22:24:16 回复(0)
能给个选项把所有有关awt,jsp的,struct的题目都屏蔽掉吗???
发表于 2019-07-08 15:58:50 回复(0)
抽象类:使用abstract关键字修饰的类
1、抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。
2、一个类不能同时被 abstract 和 final 修饰。
3、如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。即:
      抽象类可以包含抽象方法和非抽象方法。
发表于 2019-05-01 17:56:45 回复(0)
抽象类不能被实例化
发表于 2019-04-28 20:24:01 回复(0)
D:抽象类的子类不一定是抽象类
抽象类中可以定义抽象方法和非抽象方法;子类如果是抽象类,重写父类的抽象方法的时候,这个方法就会变成非抽象类
发表于 2018-11-21 14:55:13 回复(0)
当一个类继承另一个类时,这个类被称为导出类,继承类或子类,另一个类称父类、基类或超类
发表于 2018-08-19 17:31:12 回复(0)
貌似是不能直接实例化,李氏替代原则
发表于 2018-07-02 23:00:08 回复(0)
1.接口是一类特殊的抽象类 2.有抽象方法的类一定是抽象类 3.抽象类的导出类可以是抽象类,可以是普通类
发表于 2018-02-24 10:00:31 回复(0)