Java中接口的知识总结

接口:

· interface

书写格式:public interface 接口名 { }

特性:

1.接口不可以直接创建对象

2.接口可以直接定义静态常量属性(默认为static final来修饰属性)

3.接口中的方法可以定义为抽象方法(用abstract来修饰,可省略),且没有方法体

public interface Check {
    void check();
}

4.接口中还可以定义静态方法,以及默认方法(default修饰)

public interface Check {
//    void check();
    static void login(){
        
    }
    default void check(){
    
    }
}

接口的实际意义在哪?

首先我们要知道:

1.类是相对于对象抽象的,类本身的方法是具体的,属性是抽象的。

2.接口的方法是抽象的。

那么就会出现一个神奇的现象:用类 + 接口即可实现对一类事物的完全抽象!

是不是很神奇?看到这你还有些不明白的话,

我来举个例子:

比如说:有个动物类,它内部有个方法叫“ 吃 ”,那么我们可以用子类来继承动物类,

比如说:老虎类继承动物类,它的方法“ 吃 ”重写为“吃肉”,牛类继承动物类,它的方法重写为“吃草”,这些我们已经知道了,先放这不看。

那如果我有类叫食人花(众所周知食人花吃肉,具备“吃”这个行为),这时候问题来了:我能用食人花来继承动物类得到“ 吃 ”这个方法吗?显然不可以,食人花是植物!

这时候接口的作用就体现出来了:我们不妨将“ 吃 ”这个行为抽象为一个接口,让所有生物都可以来继承,这样是不是就实现了对一类事物的完全抽象!

思想有了,我们不妨来写一些代码来强化一下:

我们都知道:我们登陆一个软件的时候,是不是会有很多种登录方式来选择?这时候我们就可以将登录方式来抽象为一个接口,来实现对登录的抽象!

首先就是接口声明(格式详情见最上面)

 其中抽象方法check()表示检验登陆方式

public interface Check {
    void check();
}

其次呢就是登录类

public class Login {

    private Check check;

    public void setCheck(Check check) {
        this.check = check;
    }
    public void login(){
            check.check();
    }
}

这边我创建了两个子类继承接口,分别是qq和微信

public class weixin implements Check{
    @Override
    public void check() {
        System.out.println("微信登录");
    }
}
public class qq implements Check{
    @Override
    public void check() {
        System.out.println("qq登录");
    }
}

最后就是我们用户操作类了

public class Manager {
    public static void main(String[] args) {
        Login login = new Login();
        login.setCheck(new weixin());
        login.login();
    }
}

这边我传的对象是weixin类的对象,所以输出结果自然就是微信登陆

 总结:

前段时间学习接口,最近用到的时候发现自己已经忘了好多,于是又重新复习了一边接口的知识点,总的来讲,

接口的方便性:

       1. 减少代码的书写
       2. 提高了代码扩展性。
       3. 在团队合作中,代码的规范性得到了保障

接口对于Java来讲是很重要的一环,在实际工作中,很大一部分都是类+接口构成的代码包,来直接进行应用。

ps.一起加油努力学啊!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值