jmu-java-04面向对象进阶-01-接口-匿名内部类actionlistener
时间: 2024-09-23 14:14:19 浏览: 162
JMU(Just Make Up a Name,随便起个名字)的Java教程系列中提到"jmu-01-接口-匿名内部类ActionListener"这一部分,主要是讨论如何在Java中使用接口和匿名内部类来实现事件监听。Java中的`ActionListener`是一个标准的接口,用于处理Swing或AWT组件的各种用户交互动作,如按钮点击、菜单选择等。
匿名内部类在这里的作用是用来创建一个特定类型的实例,但在声明时并不需要显式指定类名。当你需要在一个特定上下文中临时使用一个实现了某个接口的对象时,可以创建一个匿名内部类。例如:
```java
JButton button = new JButton("Click me");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Button clicked!");
}
});
```
在这个例子中,一个新的`ActionListener`实例是在创建`JButton`时作为其`actionListener`属性赋值的,这个实例并没有给定具体的类名,这就是为什么称为匿名内部类。这样可以使代码更简洁,并保持了良好的封装性。
相关问题
6-1 jmu-Java-04面向对象进阶-01-接口-匿名内部类ActionListener
在Java中,6-1 JMU教程的“面向对象进阶 - 04 接口与匿名内部类 ActionListener”部分主要是讲解如何使用接口和匿名内部类来创建事件监听器。`ActionListener`是一个标准的Java接口,用于处理Swing或其他支持事件驱动编程框架中的用户交互动作,比如按钮点击、菜单选择等。
当你需要为某个组件(如JButton)注册一个响应特定事件(如点击)的行为时,你可以:
1. **定义接口**:首先,声明一个`ActionListener`接口实例,它包含一个名为`actionPerformed(ActionEvent)`的方法,这个方法会在触发相应事件时被调用。
```java
interface ActionListener {
void actionPerformed(ActionEvent e);
}
```
2. **创建匿名内部类**:然后,可以创建一个匿名类来实现这个接口,直接提供具体的动作处理代码,而无需为这个类起名字。
```java
JButton button = new JButton("Click me");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Button clicked!");
}
});
```
在这个例子中,当按钮被点击时,会打印出"Button clicked!"。
jmu-Java-04面向对象进阶--02-接口-Comparator
JMU(Java Multiple-Use)系列教程中的"Java-04面向对象进阶--02-接口-Comparator"通常讲解的是Java集合框架中的Comparator接口。Comparator接口是一个用于比较两个对象的工具类,主要用于对列表、数组等集合中的元素进行排序。
当你需要自定义排序规则时,而不是使用Java提供的默认排序(如自然排序),就可以创建一个实现了Comparator接口的类。这个接口只有一个抽象方法compare(),它接受两个同类对象作为参数,并返回一个整数值。如果第一个对象小于第二个,返回负数;相等则返回0;大于则返回正数。这样,你可以根据业务需求定义各种排序策略,比如按字母顺序、数字大小或其他自定义属性排序。
例如:
```java
interface Comparator<T> {
int compare(T o1, T o2);
}
class CustomComparator implements Comparator<String> {
@Override
public int compare(String s1, String s2) {
// 按字符串长度排序
return s1.length() - s2.length();
}
}
```
阅读全文