java接口的作用和意义 java什么是接口回调
前言接口是Java中的一个重要的类型,实际项目开发中会大量使用到接口,也称为:面向接口编程,本章将详细介绍接口的概念和使用以及内部类 。
接口接口是什么生活中的接口如电脑上的USB接口,规范了接口的形状、尺寸等,只要符合该规范的设备就可以连接上去 。

文章插图
程序中的接口是一套规范,规定了方法的定义,只要是实现了该接口的类必须按照接口的规范来定义 。
使用接口定义接口的语法:
public interface 接口名{静态常量的定义;方法的定义;}
定义接口要注意:- 方法是abstract的,不能实现
- 定义的属性会自动转变为静态常量
- 方法只能是public的,默认是public
public class 类名 implements 接口名{具体方法的实现}
实现接口要注意:- 必须实现所有接口中的方法
- 方法必须和接口中定义的完全一致
- 方法必须是public的
- 一个类可以实现多个接口
- 一个类可以继承类同时实现接口
class 类名 extends 父类 implements 接口{}
- 接口可以继承接口,实现类必须实现所有的方法
interface A{void testA();}//接口之间的继承interface B extends A{void testB();}class C implements B{public void testA() {}public void testB() {}}
接口在开发中的意义- 为类的实现制定一套规范
- 把设计和实现分开
public interface Person {//给接口方法默认的实现default void eat(){System.out.println("在吃饭!!");}void walk();}
实现类不强制要求实现带default的方法 。接口与抽象类的异同接口和抽象类的区别是常见的面试题相同点:
- 都可能存在没有实现的方法
- 都不能实例化
- 抽象类是单一继承,类可以实现多个接口
- 接口不能定义构造方法
- 接口中的方法只能是public,抽象类可以有各种访问类型的方法 。
- 接口中只能定义静态常量,抽象类可以定义普通的成员变量 。
- 接口中的抽象方法不用加abstract,抽象类必须加 。
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
class 外部类{class 内部类{...}}
特点:- 一般只在外部类的里面使用
- 成员内部类和类的属性和方法同一级别 。
- 属于类的对象,在创建每个对象时加载到内存
public class 外部类{static class 内部类{}}
和成员内部类的区别:- 成员内部类属于对象,静态内部类属于外部类
- 成员内部类每创建一个对象加载一次,静态内部类和外部类一起加载
- 成员内部类能访问外部类的所有成员,静态内部类只能访问外部类静态的成员
class 外部类{public void test(){class 内部类{}内部类 对象 = new 内部类();}}
匿名内部类一个没有名字的内部类,创建类的同时创建了对象 。应用场合:接口或抽象类的实现类只需要使用一次,代码是一次性的 。语法:new 接口/抽象类(){实现方法};
实现USB案例//Usb接口interface Usb{void connect(); //连接void charge(); //充电}//匿名内部类实现接口Usb usb = new Usb(){public void connect(){System.out.println("Test2测试连接");}public void charge(){System.out.println("Test2测试充电");}};usb .connect();usb .charge();
和一般类的区别:- 没有名字
- 只能使用一次
- 没有构造方法
- 不能定义静态成员
class Outer { public int num = 10;class Inner {public int num = 20;public void show() {int num = 30;System.out.println(?);numSystem.out.println(?);this.numSystem.out.println(?);Outer.this.num}} } class InnerClassTest {public static void main(String[] args) {Outer.Inner oi = new Outer().new Inner();oi.show();}}
结束留两个作业:- 定义播放器接口,播放音乐方法;定义游戏机接口,玩游戏方法;定义电话类,有品牌和价格属性,和打电话方法定义手机类继承电话并实现播放器和游戏机接口
- 定义算术接口,分别定义加减乘除四个方法,每个方法都有两个double参数,返回值为double 。使用常规类和匿名内部类两种方式实现接口 。
推荐阅读
- 鸡蛋可以做什么美食简单的
- 毛血旺的做法及配菜
- 面包是什么意思
- 巨齿鲨的天敌是谁
- 适合朋友圈发的文艺句子
- 伤感的非主流网名:手指间心痛
- 超级幽默的逛街说说 出门逛街的心情说说
- 5字短句
- 经典人生励志短语 激励人生的经典句子
- 年终总结精美句子