码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象16:接口的定义与实现

时间:2020-09-17 12:12:27      阅读:23      评论:0      收藏:0      [点我收藏+]

标签:abs   不同的   关键字   接口编程   users   elm   一点   final   alt   

//抽象类不能new,通过子类来操作

//接口就好比是契约,规定好的往里写

//接口不能被实例化~ 接口中没有构造方法~

//可以实现多个接口,必须要 重写 接口中的方法
接口:

声明类的关键字是class,声明接口的是关键字是interface

  • 普通类:只有具体实现
  • 抽象类:具体实现和规范(抽象方法)都有!
  • 接口:只有规范!自己无法写方法~,专业的约束!约束和实现分离:面向接口编程
  • 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…"的思想。如果你是天使,则必须能飞。如果你是汽车。则必须能跑。如果你是好人,则必须干掉坏人;如果你是坏人,则必须欺负好人。
  • 接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。
  • OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如C++、Java,C#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。
作用:
作用:
1.约束
2.定义一些方法,让不同的人实现
3.方法:抽象方法,public abstract
4.属性:常量 public static final
5.接口不能被实例化~ 接口中没有构造方法~
6.可以实现多个接口
7.必须要重写接口中的方法
IDEA图标的显示:

1.正常的类 是一个蓝色的圆圈带上C

2.抽象类 是C两边有竖线

3.接口 是I

技术图片

代码示例:
UserService.java接口:
package com.oop.Demo09;

public interface UserService {

    //常量~ public static final
    int AGE = 99;

    //接口中的所有定义方法都是抽象的 public abstract
    void run(String name);

    void delete(String name);

    void update(String name);

    void query(String name);
}

TimeService接口:
package com.oop.Demo09;

public interface TimeService {
    void abc(String name);
}

UserServiceLmpl重写接口中的方法:
package com.oop.Demo09;

//抽象类:extends
//类 可以实现接口 implements  接口
//实现了接口的类 ,就需要重写接口中的方法~
//多继承~利用接口实现多继承~
public class UserServiceLmpl implements UserService, TimeService {
    @Override
    public void run(String name) {

    }

    @Override
    public void delete(String name) {

    }

    @Override
    public void update(String name) {

    }

    @Override
    public void query(String name) {

    }

    @Override   //重写      //timeService 的接口
    public void abc(String name) {

    }
}

note:
作用:
1.约束
2.定义一些方法,让不同的人实现
3.方法:抽象方法, public abstract
4.属性:常量 public static final
5.接口不能被实例化~ 接口中没有构造方法~
6.可以实现多个接口
7.必须要重写接口中的方法

面向对象16:接口的定义与实现

标签:abs   不同的   关键字   接口编程   users   elm   一点   final   alt   

原文地址:https://www.cnblogs.com/function123/p/13607584.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!