java史努比_Java抽象类,抽象类(abstract)和接口(implement)的区别

*一、一个抽象类如果没有抽象方法,可不可以定义为抽象类?如果可以,有什么意义

可以

这么做目的只有一个,就是不让其他类创建本类对象,交给子类完成

* 二、abstract不能和那些关键字共存

private:

abstract是表明希望被覆盖的,但是private,子类看不到。

static:

如果是static就需要创建对象

但abstract不需要创建对象(没有意义)

final:

final表示不能被子类覆盖

abstract表名希望被覆盖

* 三、抽象类和接口的区别是什么?

1). 接口是抽象类的变体,接口中所有的方法都是抽象的。抽象类是声明方法的存在而不去实现它的类。

2). 一个类可以实现多个接口。一个类只能继承一个抽象类

3). 接口只能定义方法,不能实现。抽象类可以实现部分方法

4). 接口中基本数据类型为static 。抽类象不是的。

5). 接口中不能含有静态代码块以及静态方法。抽象类可以含有静态方法和静态代码块

6). 接口中不能定义构造器,抽象类可以可以定义构造器

7). 抽象类里不一定要有抽象方法

* 四、相同点?

1). 都不能够实例化

1). 可以将接口和抽象类作为引用类型

1).一个类如果继承了某个接口,或者实现了某个抽象类,就要对其中的抽象方法全部进行具体的实现,否则该类仍需要被定义为抽象类

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值