java什么是接口回调(java接口的作用和意义)

[复制链接] 【举报中心】
查看15 | 回复0 | 2024-8-19 10:16:53 | 显示全部楼层 |阅读模式 来自 中国江苏扬州
主题:java什么是接口回调(java接口的作用和意义)
前言 接口是Java中的一个重要的类型,实际项目开发中会大量使用到接口,也称为:面向接口编程,本章将详细介绍接口的概念和使用以及内部类。
接口 接口是什么 生活中的接口如电脑上的USB接口,规范了接口的形状、尺寸等,只要符合该规范的设备就可以连接上去。
    程序中的接口是一套规范,规定了方法的定义,只要是实现了该接口的类必须按照接口的规范来定义。
使用接口 定义接口的语法:
public interface 接口名{静态常量的定义;方法的定义;} 定义接口要注意:
[ol]  方法是abstract的,不能实现  定义的属性会自动转变为静态常量  方法只能是public的,默认是public [/ol] 实现接口
public class 类名 implements 接口名{具体方法的实现} 实现接口要注意:
[ol]  必须实现所有接口中的方法  方法必须和接口中定义的完全一致  方法必须是public的  一个类可以实现多个接口  一个类可以继承类同时实现接口 [/ol] class 类名 extends 父类 implements 接口{} [ol]  接口可以继承接口,实现类必须实现所有的方法 [/ol] interface A{void testA();}//接口之间的继承interface B extends A{void testB();}class C implements B{public void testA() {}public void testB() {}} 接口在开发中的意义
[ol]  为类的实现制定一套规范  把设计和实现分开 [/ol] default关键字 Java1.8的新特性,被default定义的方法可以有默认的实现。
public interface Person {//给接口方法默认的实现default void eat(){System.out.println("在吃饭!!");}void walk();} 实现类不强制要求实现带default的方法。
接口与抽象类的异同 接口和抽象类的区别是常见的面试题相同点:
[ol]  都可能存在没有实现的方法  都不能实例化 [/ol] 不同点:
[ol]  抽象类是单一继承,类可以实现多个接口  接口不能定义构造方法  接口中的方法只能是public,抽象类可以有各种访问类型的方法。  接口中只能定义静态常量,抽象类可以定义普通的成员变量。  接口中的抽象方法不用加abstract,抽象类必须加。 [/ol] 内部类 内部类就是在类里面定义的类。Java的内部类包含:
   成员内部类  静态内部类  局部内部类  匿名内部类  成员内部类 和成员变量(属性)、成员方法同级的,都是属于某一个对象所有的。语法:
class 外部类{class 内部类{...}} 特点:
   一般只在外部类的里面使用  成员内部类和类的属性和方法同一级别。  属于类的对象,在创建每个对象时加载到内存  静态内部类 成员内部类加上static,就是静态内部类语法:
public class 外部类{static class 内部类{}} 和成员内部类的区别:
[ol]  成员内部类属于对象,静态内部类属于外部类  成员内部类每创建一个对象加载一次,静态内部类和外部类一起加载  成员内部类能访问外部类的所有成员,静态内部类只能访问外部类静态的成员 [/ol] 局部内部类 在方法中定义的类,只能在当前方法中使用,方法调用时加载类到内存中。语法:
class 外部类{public void tesOPenKE.cn 学习论坛t(){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(); 和一般类的区别:
[ol]  没有名字  只能使用一次  没有构造方法  不能定义静态成员 [/ol] 面试题:在?处填写什么可以在控制台输出30,20,10。
class Outer { public int num = 10;     class Inner {         public int num = 20;         public void show() {             int num = 30;             System.out.println(?);   num             System.out.println(?);   this.num             System.out.println(?);   Outer.this.num         }     } } class InnerClassTest {     public static void main(String[] args) {         Outer.Inner oi = new Outer().new Inner();         oi.show();     }     }    结束 留两个作业:
[ol]  定义播放器接口,播放音乐方法;定义游戏机接口,玩游戏方法;定义电话类,有品牌和价格属性,和打电话方法定义手机类继承电话并实现播放器和游戏机接口  定义算术接口,分别定义加减乘除四个方法,每个方法都有两个double参数,返回值为double。使用常规类和匿名内部类两种方式实现接口。 [/ol]         
关键字:部类,接口,方法,定义,成员
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则