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&gt

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.数据库查询性能优化