Java的接口
来源:互联网 发布:weui js 编辑:程序博客网 时间:2024/06/08 11:15
Java 语言中的接口
接口的概念
- 接口可以理解为一种特殊的类,由全局常量和公共抽象方法组成;
- 通俗理解: 类是一种具体的实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,接口之规定这些类实现它的类里必须提供某些方法;
- 也就是说,接口其实是一种规范,是用来约束类的。
接口定义
[修饰符] interface 接口名 [extends 父接口1,父接口2...]{ 零到多个**常量**... 零到多个抽象**方法**....}
- 常量: - 接口中属性是常量,即使我们程序员自己定义时不显示的添加 final修饰符,编译器也会自自动添加;- 方法: - 同上,接口中的方法也只能是抽象方法,即使我们通常不添加 abstract 修饰符,编译器也会自动添加;
使用接口
- 一个类是可以实现一个或者多个接口的,实现接口使用
implements
关键字。 Java中一个类只能继承一个父类,是不够灵活的,Java通过实现多个接口来解决这个问题;
继承父类并实现接口的示例:
- 一个类是可以实现一个或者多个接口的,实现接口使用
public class SmartPhone extends Telphone implements IPlayGame{ 类体部分... //如果继承了抽象类,需要实现继承的抽象方法; //也需要实现接口中的抽象方法(接口中的普通方法可以不实现) }
- 描述:
- 代码示例
- 定义接口
IPlayGame
- 定义接口
public interface IPlayGame { public void playGame();//接口中的方法不需要实现}
- 在SmartPhone类中实现接口IPlayGame
/** * Created by xiezhongtian on 2017/8/24. * SmartPhone类继承Telphone类并实现接口IPlayGame * 通过接口IPlayGame描述两个不同类型的类之间的特征(玩游戏) */public class SmartPhone extends Telphone implements IPlayGame{ @Override public void call() { System.out.println("智能机:可以使用种类繁多的APP打电话"); } @Override public void sendMessage() { System.out.println("智能机:可以通过语音发短信"); } @Override public void playGame() {//实现接口中只能手机有玩游戏的特性 System.out.println("智能机:可以玩游戏"); }}
- 在Psp类中实现接口IPlayGame
/** * Created by xiezhongtian on 2017/8/24. */public class Psp implements IPlayGame { @Override public void playGame() {//实现接口中玩游戏的特性 System.out.println("Psp:具有玩游戏的功能"); }}
- 通过接口来使用两个不同类的方法
//接口(Interface) IPlayGame iPlayGame1 = new SmartPhone();//接口的引用指向了一个实现了接口的对象 IPlayGame iPlayGame2 = new Psp(); iPlayGame1.playGame(); iPlayGame2.playGame();
- 输出 两个不同类型对象的共同特性
智能机:具有玩游戏的功能Psp:具有玩游戏的功能
匿名内部类的方式实现接口
- 接口在使用的过程中,还经常和匿名内部类配合使用- 所谓匿名内部类,就是指没有名字的内部类- 多用于关注实现而不关注实现类的名称场景中
- 语法格式
/* * 匿名内部类实现接口的语法格式: * interface i = new interface(){ * public void method(){ * System.out.println("匿名内部类实现接口的方式!!"); * } * } * * */ //1.常规方法 IPlayGame iPlayGame3 = new IPlayGame(){ @Override public void playGame() { System.out.println("[匿名内部类]:使用匿名内部类的方式实现接口!!"); } }; iPlayGame3.playGame(); //2.直接new接口的方式 new IPlayGame(){ @Override public void playGame() { System.out.println("[直接New]:使用匿名内部类的方式实现接口!!"); } }.playGame(); }
输出:
[匿名内部类]:使用匿名内部类的方式实现接口!![直接New]:使用匿名内部类的方式实现接口!!
阅读全文
0 0
- java接口的妙用
- Java的接口
- java 的接口
- JAVA接口的作用
- java 接口的使用
- 说说JAVA的接口
- JAVA接口的作用
- JAVA接口的见解
- JAVA接口的见解
- java 接口的作用
- java的接口作用
- java的接口(1)
- JAVA接口的作用
- java 接口的语法
- java接口的定义
- Java数据结构的接口
- java接口的理解
- java的Callable接口
- Linux(简单命令3)
- 实用工具软件
- 闲来无事,陶冶一下!
- 树状数组总结
- jQuery获取文本框数据
- Java的接口
- Android LocationManager 定位服务
- 工作笔记(2017.08.24)
- 如何处理SwipeMenuListView和scrollview的滑动重冲突问题
- js(1)
- Linux(CentOS)下同时启动两个tomcat
- golang语言并发与并行—goroutine和channel的详细理解
- Java:实现商品的查找、添加、出库、入库
- Bond behaviour with reinforcement corrosion