java初学者:接口技术文章

简介: Java里接口是一系列方法的声明,是一些方法特征的集合,(接口中定义的是常量和抽象方法),由于接口中没有方法的实现,所以它的方法可以在不同的类中实现,要实现接口中的方法,需要在对接口的继承之后对父类的所有方法进行重写,因此实现接口也就是实现了该类继承了接口,实现了接口中的方法

                               Java接口技术文章

Java里接口是一系列方法的声明,是一些方法特征的集合,(接口中定义的是常量和抽象方法),由于接口中没有方法的实现,所以它的方法可以在不同的类中实现,要实现接口中的方法,需要在对接口的继承之后对父类的所有方法进行重写,因此实现接口也就是实现了该类继承了接口,实现了接口中的方法


接口定义的语法为:


Public interface 接口名 {undefined


//定义常量


public static final 数据类型常量名 = 值;



//定义抽象方法


Public abstract 返回值类型方法名(数据类型参数名...)


}


在接口定义中需要注意的几点是:


1、在接口中不允许实例化一个对象,并且只有一种访问修饰符 public 。


2、在接口中默认提供static,final,abstract关键字。



在我看来,由于java中一个子类只能继承一个父类,而接口不受这种影响,即一个类可以实现多个接口,因此对接口的继承可以弥补这一种不足。另外,在定义接口的时候也同样可以实现多个其他的接口。这种实现可以认为类似于类中的继承。


接口实现的关键字是implements,


具体语法为:public class 类名  extends 类名   implements 接口名,... {undefined


//该类必须实现接口中的所有的方法


                  }



在swing界面编程中,有四种非常重要的接口可能会被多次使用,他们分别是addActionListener(ActionListener l);


addMouseListener(MouseListener l);


addMouseMotionListener(MouseMotionListenerl);


addKeyListener(KeyListener l);他们都是事件监听方法,用来实现对事件源对象的监听,所有的图形界面组件(容器组件,元素组件)都可以成为事件源对象,操作者的动作发生在哪一个组件上,那么该组件就是事件源对象。再来看这四种监听方法,其中:



addActionListener(ActionListener l); 是用来捕获事件源上的鼠标点击(类似按钮组件)或者键盘的回车动作(输入框),交给参数ActionListener对象进行处理


addMouseListener(MouseListener l); 是用来捕获事件源上的鼠标进入、离开、按下、释放、点击的动作,然后交给参数MouseListener对象进行处理


addMouseMotionListener(MouseMotionListenerl); 是用来捕获事件源上的鼠标移动或者拖动动作,然后交给参数MouseMotionListener对象进行处理


addKeyListener(KeyListener l); 是用来捕获事件源上的键盘按键按下,释放和敲击动作,然后交给参数KeyListener对象进行处理



在实际编程时,我们需要根据实际情况来选择使用不同的监听方法,但需要注意的是,一个类中可以实现多个接口,每实现一个接口,我们需要将接口中的所有方法都重写。



给一个事件源添加监听器的步骤具体为:


1、新建一个继承了相应的监听方法的类,根据类名实例化一个对象,将事件源对象作为参数传递给该类。


2、给事件源对象添加一个动作监听方法


3、在该类中实现接口的方法。



下面通过一个简单的例子来说明接口的实现以及监听方法的使用:


实现一个登录界面,当点击登陆按钮时关闭登陆界面,出现一个新的窗体(暂不考虑验证登陆密码)



Login类

12.png


13.pngLoginListener类

14.png



相关文章
|
2月前
|
监控 Cloud Native Java
Quarkus 云原生Java框架技术详解与实践指南
本文档全面介绍 Quarkus 框架的核心概念、架构特性和实践应用。作为新一代的云原生 Java 框架,Quarkus 旨在为 OpenJDK HotSpot 和 GraalVM 量身定制,显著提升 Java 在容器化环境中的运行效率。本文将深入探讨其响应式编程模型、原生编译能力、扩展机制以及与微服务架构的深度集成,帮助开发者构建高效、轻量的云原生应用。
282 44
|
2月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
322 1
|
3月前
|
安全 Java 编译器
new出来的对象,不一定在堆上?聊聊Java虚拟机的优化技术:逃逸分析
逃逸分析是一种静态程序分析技术,用于判断对象的可见性与生命周期。它帮助即时编译器优化内存使用、降低同步开销。根据对象是否逃逸出方法或线程,分析结果分为未逃逸、方法逃逸和线程逃逸三种。基于分析结果,编译器可进行同步锁消除、标量替换和栈上分配等优化,从而提升程序性能。尽管逃逸分析计算复杂度较高,但其在热点代码中的应用为Java虚拟机带来了显著的优化效果。
105 4
|
1月前
|
Java Go 开发工具
【Java】(9)抽象类、接口、内部的运用与作用分析,枚举类型的使用
抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽象方法不能有方法体。抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例。抽象类可以包含成员变量、方法(普通方法和抽象方法都可以)、构造器、初始化块、内部类(接 口、枚举)5种成分。抽象类的构造器不能用于创建实例,主要是用于被其子类调用。抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类abstract static不能同时修饰一个方法。
185 1
|
2月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
120 11
|
3月前
|
存储 缓存 安全
Java集合框架(二):Set接口与哈希表原理
本文深入解析Java中Set集合的工作原理及其实现机制,涵盖HashSet、LinkedHashSet和TreeSet三大实现类。从Set接口的特性出发,对比List理解去重机制,并详解哈希表原理、hashCode与equals方法的作用。进一步剖析HashSet的底层HashMap实现、LinkedHashSet的双向链表维护顺序特性,以及TreeSet基于红黑树的排序功能。文章还包含性能对比、自定义对象去重、集合运算实战和线程安全方案,帮助读者全面掌握Set的应用与选择策略。
227 23
|
3月前
|
Java 测试技术 API
2025 年 Java 开发者必知的最新技术实操指南全览
本指南涵盖Java 21+核心实操,详解虚拟线程、Spring Boot 3.3+GraalVM、Jakarta EE 10+MicroProfile 6微服务开发,并提供现代Java开发最佳实践,助力开发者高效构建高性能应用。
538 4
|
2月前
|
安全 Cloud Native Java
Java 模块化系统(JPMS)技术详解与实践指南
本文档全面介绍 Java 平台模块系统(JPMS)的核心概念、架构设计和实践应用。作为 Java 9 引入的最重要特性之一,JPMS 为 Java 应用程序提供了强大的模块化支持,解决了长期存在的 JAR 地狱问题,并改善了应用的安全性和可维护性。本文将深入探讨模块声明、模块路径、访问控制、服务绑定等核心机制,帮助开发者构建更加健壮和可维护的 Java 应用。
230 0
|
3月前
|
存储 安全 Java
Java集合框架(一):List接口及其实现类剖析
本文深入解析Java中List集合的实现原理,涵盖ArrayList的动态数组机制、LinkedList的链表结构、Vector与Stack的线程安全性及其不推荐使用的原因,对比了不同实现的性能与适用场景,帮助开发者根据实际需求选择合适的List实现。
|
SQL Java 数据库连接
Java从入门到精通:3.1.2深入学习Java EE技术——Hibernate与MyBatis等ORM框架的掌握
Java从入门到精通:3.1.2深入学习Java EE技术——Hibernate与MyBatis等ORM框架的掌握
186 1