Java接口的定义

在Java中,把类分成了三种:

1.普通类:使用class定义且不含有抽象方法的类,只有具体的实现

2.抽象类:使用abstract class定义的类,可含有/不含有抽象方法,具体的实现和规范(抽象方法)都有,注:不能实例化(new)这个抽象类,只能靠子类去实现(约束)它

3.接口:使用interface定义的类,只有规范(抽象方法)

所谓接口,就是规范,定义的是一组规则,可以理解为现实中"如果你....必须....",就好比"如果你犯罪了,必须坐牢";"如果你做错了,必须受到惩罚"等等,就好比我们的法律,制定好了之后每个人都要遵循.接口的本质是契约(约束)它是对抽象的抽象.在以前的学习中我们知道java类只有单继承,没有多继承,但学习了接口之后,原来只能实现单继承的类实现接口后就可以实现多继承了.而实现了接口后的类都必须重写接口中的方法,我们来看一段代码实现:

首先是接口1(UserService):

/最主要要学习抽象的思维
//定义的关键字interface,接口都需要有实现类
public interface UserService {
    //接口中的所有定义的属性其实都是静态常量(public static final隐藏了)
    /*public static final*/ int AGE = 99;//很少定义属性
    //接口中的所有定义的方法其实都是抽象的(public abstract隐藏了)
    /*public abstract */void add(String name);
    /*public abstract */void delete(String name);
}

然后是接口2(TimeSevice):

public interface TimeService {
    void timer();
}

最后是实现类(ServiceImpl):

//抽象类:extends 单继承  implement接口
//只能单继承的类通过实现接口后可以实现多继承
//实现了接口的类,必须要重写接口中的方法
public class ServiceImpl implements UserService,TimeService{
    @Override
    public void add(String name) {

    }
    @Override
    public void delete(String name) {

    }
    @Override
    public void timer() {

    }
}

最后我们对接口做一个总结:

1.接口的本质是一个约束,是对抽象的抽象

2.他的具体用法是,定义一些方法,让不同的人实现

3.定义的方法都是带public abstract修饰符的,可以隐藏

4.定义的常量(属性)都是带public static final,可以隐藏.定义后可直接使用,但很少在接口中定义属性.

5.接口不是类,所以接口不能被实例化(new),且没有构造方法

6.通过implement关键字可以实现多个接口,实现"多继承"

7.类实现了接口后,必须要重写接口中所有方法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值