Java中常用接口
1. 引言
在Java语言中,接口是一种定义类的规范。它定义了类应该具有的方法和常量,但没有提供具体的实现。接口可以被类实现,实现了接口的类必须实现接口中定义的所有方法。接口在Java中被广泛使用,常用于实现多态和代码组织。本文将介绍Java中常用的接口,并提供相应的代码示例。
2. Comparable接口
Comparable接口是Java中常用的接口之一,它定义了一个对象的自然排序顺序。实现了Comparable接口的类可以使用Collections.sort()方法对对象进行排序。
public interface Comparable<T> {
public int compareTo(T o);
在上面的代码中,compareTo()方法用来比较对象的顺序。如果当前对象小于参数对象,返回负整数;如果当前对象等于参数对象,返回0;如果当前对象大于参数对象,返回正整数。
下面是一个使用Comparable接口的示例代码:
import java.util.ArrayList;
import java.util.Collections;
public class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
public String getName() {
return name;
public int getAge() {
return age;
@Override
public int compareTo(Person other) {
return this.age - other.getAge();
public static void main(String[] args) {
ArrayList<Person> people = new ArrayList<>();
people.add(new Person("Alice", 25));
people.add(new Person("Bob", 20));
people.add(new Person("Charlie", 30));
Collections.sort(people);
for (Person person : people) {
System.out.println(person.getName() + " - " + person.getAge());
上面的代码定义了一个Person类,实现了Comparable<Person>接口,并重写了compareTo()方法。在main()方法中,创建了几个Person对象,并将它们添加到ArrayList中。然后使用Collections.sort()方法对ArrayList进行排序,最后打印排序后的结果。
3. Runnable接口
Runnable接口是Java中常用的接口之一,它定义了一个可以在单独线程中运行的任务。实现了Runnable接口的类可以通过创建Thread对象并传递该类的实例来创建一个新的线程。
public interface Runnable {
public void run();
在上面的代码中,run()方法定义了线程运行时要执行的代码。
下面是一个使用Runnable接口的示例代码:
public class MyRunnable implements Runnable {
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("Hello from MyRunnable " + i);
public static void main(String[] args) {
Thread thread = new Thread(new MyRunnable());
thread.start();
上面的代码定义了一个MyRunnable类,实现了Runnable接口,并重写了run()方法。在main()方法中,创建了一个Thread对象,并传递了MyRunnable的实例作为参数。然后调用thread.start()方法启动新线程,新线程会执行MyRunnable中定义的代码。
4. ActionListener接口
ActionListener接口是Java中常用的接口之一,它定义了监听器要实现的方法,用于处理用户界面中的动作事件。
public interface ActionListener {
public void actionPerformed(ActionEvent e);
在上面的代码中,actionPerformed()方法定义了当动作事件发生时要执行的操作。
下面是一个使用ActionListener接口的示例代码:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class MyFrame extends JFrame {
private JButton button;
public MyFrame() {
button = new JButton("Click me");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Button clicked");
add(button);
setSize(200, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
public static void main(String[] args) {
new MyFrame();
上面的代码定义了一个MyFrame类,继承了JFrame类,并创建了一个按钮。通过调用button.addActionListener()方法,传递一个ActionListener的匿名
java导入数据显示进度条 java导入数据到excel模板
JAVA 的 EXCEL 数据导入导出—EasyExcel 的方法的实现(实例)第一步在pom.xml中导入EasyExcel依赖<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>
2.已解决ERROR: Unable to find the development tool `cc` in your path; please make sure that you have the
3.完美解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常的正确解决方法,亲测有效!!!
4.让生成式AI普惠,亚马逊云科技创业加速器活动首批入选30家企业
5.数据库查询性能优化