java 接口

1.接口

1)含义

接口是抽象的,接口中只有方法的特征而没有方法的实现,接口中的变量都是常量。

2)格式

定义一个接口

  

3)关键字 interface

2.如何实现接口

 类实现接口

3.接口与继承的区别

1. 一个类只能继承一个类,即单继承。但是一个类可以实现多个接口。

2. 接口中方法都是抽象的(Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法),变量是常量。在类中方法是具体的,变量就是变量。

3. 接口不能实例化,只能通过一个类来实现。

4. 接口中无构造方法。

4.分析门锁的代码

第一步:定义接口

2.定义一个门类

在类中定义了一个接口变量,我认为这样做的好处是 提高了代码的复用率,使开发更加高效,我们可以认为这个类就是最原生的一个类,如果你对这个门的锁有新的需求的话,那么我不需要重新修改这个类,或者重建定义一个类,只需要通过其它类实现锁的接口。

我认为:接口所代表的行为应该是属于这个类的,就是说它描述了一个行为,但是很抽象的,谁有需求就去实现接口就好了。

接口的实现使得“门”更加具体!!

有一个门,就要配一把锁,至于你是什么锁,取决于你的需求

实现一个具有人脸识别功能的锁

 

实现一个密码锁

 

主函数验证 

4.扩展

我自己写了一个 学生与做作业的案例

小学生要写作业;大学生不一定要写,看心情写。。。。。


=============================================================
定义接口

public interface DoHomeWork {
    public abstract void DoOrNotDo();
}

==============================================================

定义一个没有那么具体,有一点抽象的学生类

package interface_0429;

public class Student {

    DoHomeWork d;

    public void doOrnot() {
        d.DoOrNotDo();
    }
}

===============================================================

大学生的作业情况

class UNStudent_homework implements DoHomeWork {

    @Override
    public void DoOrNotDo() {
        System.out.println("大学生可以不写,取决于自己");
    }
}

==========================================================

小学生的作业情况

class LittleStudent_homework implements DoHomeWork {

    @Override
    public void DoOrNotDo() {
        System.out.println("小学生一定要写,因为有家长管");
    }
}

==================================================================

测试

class Manage{
    public static void main(String[] args) {

        Student student = new Student();

        student.d = new UNStudent_homework();  // 由于这条语句,使student这个对象变得更加具体,他被赋予了 “大学生的作业完成情况 ” 的这一特征。

        student.doOrnot();


        //===========================
        student.d = new LittleStudent_homework();

        student.doOrnot();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值