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

接口是java中的一个重要的类型,实际项目开发中会大量使用到接口,也称为:面向接口编程,本章将详细介绍接口的概念和使用以及内部类。

生活中的接口如电脑上的usb接口,规范了接口的形状、尺寸等,只要符合该规范的设备就可以连接上去。

java面向对象编程的接口和内部类

程序中的接口是一套规范,规定了方法的定义,只要是实现了该接口的类必须按照接口的规范来定义。

定义接口的语法:

public interface 接口名{
	静态常量的定义;
	方法的定义;
}

定义接口要注意:

  1. 方法是abstract的,不能实现
  2. 定义的属性会自动转变为静态常量
  3. 方法只能是public的,默认是public

实现接口

public class 类名 implements 接口名{
	具体方法的实现
}

实现接口要注意:

  1. 必须实现所有接口中的方法
  2. 方法必须和接口中定义的完全一致
  3. 方法必须是public的
  4. 一个类可以实现多个接口
  5. 一个类可以继承类同时实现接口
class 类名 extends 父类 implements 接口{
}
  1. 接口可以继承接口,实现类必须实现所有的方法
interface a{
	void testa();
}
//接口之间的继承
interface b extends a{
	void testb();
}
class c implements b{
	public void testa() {
	}
	public void testb() {
	}
}

接口在开发中的意义

  1. 为类的实现制定一套规范
  2. 把设计和实现分开

java1.8的新特性,被default定义的方法可以有默认的实现。

public interface person {
	//给接口方法默认的实现
	default void eat(){
		system.out.println("在吃饭!!");
	}
	void walk();
}

实现类不强制要求实现带default的方法。

接口和抽象类的区别是常见的面试题相同点:

  1. 都可能存在没有实现的方法
  2. 都不能实例化

不同点:

  1. 抽象类是单一继承,类可以实现多个接口
  2. 接口不能定义构造方法
  3. 接口中的方法只能是public,抽象类可以有各种访问类型的方法。
  4. 接口中只能定义静态常量,抽象类可以定义普通的成员变量。
  5. 接口中的抽象方法不用加abstract,抽象类必须加。

内部类就是在类里面定义的类。java的内部类包含:

  • 成员内部类
  • 静态内部类
  • 局部内部类
  • 匿名内部类

和成员变量(属性)、成员方法同级的,都是属于某一个对象所有的。语法:

class 外部类{
	class 内部类{
	...
	}
}

特点:

  • 一般只在外部类的里面使用
  • 成员内部类和类的属性和方法同一级别。
  • 属于类的对象,在创建每个对象时加载到内存

成员内部类加上static,就是静态内部类语法:

public class 外部类{
	static class 内部类{
	}
}

和成员内部类的区别:

  1. 成员内部类属于对象,静态内部类属于外部类
  2. 成员内部类每创建一个对象加载一次,静态内部类和外部类一起加载
  3. 成员内部类能访问外部类的所有成员,静态内部类只能访问外部类静态的成员

在方法中定义的类,只能在当前方法中使用,方法调用时加载类到内存中。语法:

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();

和一般类的区别:

  1. 没有名字
  2. 只能使用一次
  3. 没有构造方法
  4. 不能定义静态成员

面试题:在?处填写什么可以在控制台输出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();
     }    
 }   

留两个作业:

  1. 定义播放器接口,播放音乐方法;定义游戏机接口,玩游戏方法;定义电话类,有品牌和价格属性,和打电话方法定义手机类继承电话并实现播放器和游戏机接口
  2. 定义算术接口,分别定义加减乘除四个方法,每个方法都有两个double参数,返回值为double。使用常规类和匿名内部类两种方式实现接口。
(0)
仰望辉煌。  的头像仰望辉煌。  

相关推荐

  • ua hovr phantom 2 运动品牌安德玛近日发售一款专业跑鞋——ua hovr phantom 2。这款跑鞋在初代ua hovr phantom的基础上进行改造,据介绍,…

  • 不论公司建立什么样的文化,核心思想都基于一点——让公司更具有市场竞争力。 直到现在,有一些公司仍然喜欢抄袭其他公司的所谓“公司文化”: 因为ibm员工有着必须穿西装,打领带的着装需…

    创业分享 2022年1月18日
  • 5月初,oppo超次元新品季发布了包括手机、电视、手环以及tws无线蓝牙耳机在内的多款智能生态产品,因此,这次的发布会其实也是oppo在新一年里智能生态的全新状态。 大屏生态方面,…

  • 先说说图片放大,这款叫photozoom pro 8,此次分享的是po姐版,它的最大功能就是将低分辨率的图片进行画质优化,它使用全新的分辨率解析技术,可以自动将放大后的图片区域一点…

  • 路由器如何设置另外讨论,现只讲电脑的设置。在windows xp下: 1、确定桌面上有没有”网上邻居”图标,如果没有,在桌面空白处点击右键─→属性─→桌面─…

  • 早已经习惯了微信朋友圈的朋友都知道,分享视频一般为15秒,如果通过腾讯威视功能,则可以达到30秒。这种方式尽管时长翻倍,但还是不够过瘾。 此前,也有一些外挂工具可以让分享的视频时长…

  • 曾与很多ceo探讨saas在国内为何这么困难?大家最后都不得不承认,关键瓶颈还是产品力 —— 产品没能有效地、便捷地解决大量客户企业的问题。这背后原因很多,我今天就做个深入分析,也…

    2022年1月18日 创业分享
  • 我们都知道pdf格式非常稳定,但也因此操作起来难度大,特别是涉及到一些数据的计算,还是只有excel的公式更方便,所以有时候我们也会将pdf转成excel。你是否也遇到过转换后的表…

  • 虽然现在互联网高速发展时代,但同时也有许多人不知道ip地址怎么查询,今天小幕就以个人查询经验和方法分享给大家,希望大家记住,下面我就列出方法和步骤: 一、查询流程步骤 1、电脑操作…

  • 要建立一个网站,需要从网站定位,到设计、网站结构、内容准备、内外链的建设等等,是一个复杂繁琐的过程,需要准备一份网站的策划方案。本文将简要描述,从网站的定位到最终的网站建成,整个过…

  • 推荐7款在线视频剪辑工具,不用安装就能免费用! 1、在线视频制作flexclip 地址:https://www.flexclip.com/ 一个操作简单,功能简单地在线剪辑工具。 …

  • 平时大家清理电脑系统垃圾经常会用到一些专门的软件,像某某电脑管家、某某安全卫士、某某安全软件等等。五花八门、铺天盖地、不仅操作起来麻烦,而且还不少占用系统内存,使系统越来越卡。 那…

  • 众所周知,幼升小入学考试有些题目跟“七巧板”有关的。 甚至,许多小学奥数,赫然呈现好多七巧板的题目。 如果正处小学的家长都会在教孩子几何的过程中发现,孩子理解几何知识间的空间关系真…

  • 现在网上税务申报已经推广开来,不过还是有很多人不是很了解。如果网上申报后还要去税务局申报吗?如果网上申报的不需要去税务局,抄税也可以在网上进行。 还是有很多人不清楚如何进行网上税务…

  • 智能电视走入各大家庭后,越来越多人开始享受大屏观影的乐趣。那么很多小伙伴就有疑惑了,如何才能够将手机上的内容同步到电视上观看呢?小编就给大家推荐一款非常实用的投屏软件,可以将手机上…

发表回复

登录后才能评论
网站地图