接口和抽象类

接口是一种数据类型,接口也是类,但接口与类有很大的区别。首先,定义接口的关键字是interface,而不是class.接口中同样可以定义属性和方法,但是接口的属性必须是一个公共的常量,方法必须是一个公共的抽象方法。而且接口中只能定义常量和抽象方法。所以接口的格式为:

public interface 接口名{

public static final 数据类型 常量名=常量; //定义常量

public abstract 返回值数据类型 方法名(); //定义抽象方法

}

需要注意的是,接口中默认的访问修饰符是public,而且只能是public,接口默认提供static,final,abstract关键字,即在程序中即使不写它们,也是可以的。因为接口中没有构造方法和方法体,所以 接口不能用来实例化对象。

接口的实现使用implements关键字,不同于类的extends,实现接口时,必须重写(实现)接口中定义的所有方法,因为接口中方法都是默认的public,所以即使接口中没有写public,在实现时也要加上public。
类实现接口就相当于继承了接口,但不同于类的继承,接口可以继承一个或多个接口。

抽象类也是一种类,其定义和继承的格式为:

public abstract class 类名 extends 类名 implements 接口名{

//抽象方法定义,继承的子类必须实现
public abstract 返回值数据类型 方法名();

//定义已经实现的方法,常量

}

抽象类定义时,一定要在类名前加上abstract关键字,抽象类继承接口后,可以不去实现接口中的抽象方法,而且,抽象类是不可以用来实例化对象的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值