抽象类和接口

本文详细介绍了Java中的抽象类和接口的概念、特点及区别。抽象类作为类的抽象,包含变量、常量、构造方法以及抽象和非抽象方法。而接口则专注于行为的抽象,包含常量和抽象方法。两者都不能直接实例化,但可通过子类实现多态。子类对接口或抽象类的选择需完全实现其方法。理解这两者的差异对于Java编程至关重要。
摘要由CSDN通过智能技术生成

一、抽象类

1.抽象类的含义

  抽象方法就是没有具体方法体的方法,一个类中如果有抽象方法,该类必须定义为抽象类。

2.抽象类的特点

  (1)得有abstract关键字修饰。
  (2)抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类。
  (3)抽象类不能实例化,但可以通过子类对象实例化[抽象类多态]。
  (4)抽象类的子类:要么是抽象类;要么重写抽象类中的所有方法。

3.抽象类的成员访问特点

  成员的特点:

成员变量构造方法成员方法
既可以是变量空参构造抽象方法
也可以是常量有参构造普通方法

二、接口

1.含义:

  接口就是一种公共的规范标准,只要符合标准,就可以使用。java中的接口更多的体现在对行为的抽象!

2. 接口的特点

  接口用关键字interface修饰;
  类实现接口用implements表示;
  接口不能实例化,但可以通过实现类对象实例化,接口多态
  接口的子类,要么也是抽象类,要么重写接口中的所有方法。

3.接口的成员特点

  成员变量:只能是常量,默认修饰符:puiblic static final;
  没有构造方法(接口没有具体存在);
  成员方法:只能是抽象方法,默认修饰符:public abstract
  此外,在JDK8,JDK9 中接口的方法有一些新特性,感兴趣的可以查阅资料。

三、区别

1.抽象类和接口的区别

名称成员区别设计区别
抽象类变量,常量;有构造方法;有抽象方法,也有非抽象方法对类抽象,包括属性、行为
接口常量;抽象方法对行为抽象,主要是行为
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值