接口中定义的成员变量是( )。_如何区分Java中的抽象类(abstract class)和接口(interface)...

本文对比分析了Java中抽象类和接口的相同点与不同点,包括实例化、方法实现、成员变量、抽象方法等方面,并重点阐述了接口在Java JDK 1.8中的新特性。

#头条公开课繁星计划#

#Java#

1、相同点

①抽象类和接口都不能实例化,但可以声明。

比如:

public abstract class Student

{

……

}

∥声明抽象类

Student student;∥OK

Student student = new Student();∥错误

②一个类继承了某个抽象类,或实现了某个接口,其中的抽象方法全部都必须要实现,否则该类仍然需要声明为抽象类(abstract class)。

2、不同点

①有抽象方法的类一定是抽象类,而抽象类不一定有抽象方法。

②接口中包含的方法一定是抽象方法。但Java JDK1.8中接口可以有方法体,子类可以不用重写接口中已实现的方法。

③抽象类中的成员可以是private、default(即不写访问修饰符)、protected、public的,而接口中的成员全都是public的。

④接口比抽象类更抽象,因为抽象类中可以定义构造器、成员变量和具体方法。

⑤抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。

47326d134ad656f8c80b1fabd4917a60.png
c71ab5eb06644b7dfe8857d2befaed85.png
1a2cb2ee2e7abf6f3eb1a0a64a9ee325.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值