java便利类,这个词偶然看到的,维基百科找不到解释。就是抽象类继承接口。
比如Collection接口,里面有很多抽象方法,而AbstractCollection实现了Collection接口。jdk中如下描述这个便利类:
This class provides a skeletal implementation of the Collection interface, to minimize the effort required to implement this interface.
意思就是这个抽象类实现了接口中的大部分的方法,在需要实现Collection接口的时候继承这个类就可以专注实现自己需要的方法。
1:抽象类实现接口,可以实现接口中的所有方法,但这不是必须的。因为抽象类允许抽象方法存在,而接口中的方法都是抽象的。甚至,你可以写一个抽象类继续接口,但是什么都不做
public interface Interface {
public void method1();
public void method2();
public void method3();
}
public abstract class Abstract implements Interface{
}
很显然,这样做是没有什么意义的。
2:抽象类继承接口的最主要用处应该是“便利”了类实现接口必须实现所有的方法。比如说只想实现method1这个方法,如果直接实现接口的话,那么就需要实现所有的方法。但是有了抽象类之后,就可以在抽象类中实现所有方法,而继承这个抽象类的子类只需实现method1就可以了:
public interface Interface {
public void method1();
public void method2();
public void method3();
}
public abstract class Abstract implements Interface{
public void method1(){
}
public void method2(){
}
public void method3(){
}
}
public class Extend extends Abstract {
public void method1() {
}
}
3:抽象类实现接口主要用在事件监听方面
public interface MouseListener extends EventListener {
/**
* Invoked when the mouse button has been clicked (pressed
* and released) on a component.
*/
public void mouseClicked(MouseEvent e);
/**
* Invoked when a mouse button has been pressed on a component.
*/
public void mousePressed(MouseEvent e);
/**
* Invoked when a mouse button has been released on a component.
*/
public void mouseReleased(MouseEvent e);
/**
* Invoked when the mouse enters a component.
*/
public void mouseEntered(MouseEvent e);
/**
* Invoked when the mouse exits a component.
*/
public void mouseExited(MouseEvent e);
}
public abstract class MouseAdapter implements MouseListener {
/**
* Invoked when the mouse has been clicked on a component.
*/
public void mouseClicked(MouseEvent e) {}
/**
* Invoked when a mouse button has been pressed on a component.
*/
public void mousePressed(MouseEvent e) {}
/**
* Invoked when a mouse button has been released on a component.
*/
public void mouseReleased(MouseEvent e) {}
/**
* Invoked when the mouse enters a component.
*/
public void mouseEntered(MouseEvent e) {}
/**
* Invoked when the mouse exits a component.
*/
public void mouseExited(MouseEvent e) {}
}
protected class DoubleClickListener extends MouseAdapter {
// NOTE: This class exists only for backward compatability. All
// its functionality has been moved into Handler. If you need to add
// new functionality add it to the Handler, but make sure this
// class calls into the Handler.
Handler handler;
public DoubleClickListener(JList list) {
handler = new Handler(list);
}
/**
* The JList used for representing the files is created by subclasses, but the
* selection is monitored in this class. The TransferHandler installed in the
* JFileChooser is also installed in the file list as it is used as the actual
* transfer source. The list is updated on a mouse enter to reflect the current
* data transfer state of the file chooser.
*/
public void mouseEntered(MouseEvent e) {
handler.mouseEntered(e);
}
public void mouseClicked(MouseEvent e) {
handler.mouseClicked(e);
}
}
分享到:
相关推荐
HtmlFormatter 一个纯Java便利类,用于将String格式化为Html String。 它旨在与Android一起使用,但是由于它是纯Java,因此在Android领域之外应该可以正常使用,但是我不确定是否存在这种用例。例子。小的() ...
Java实体类生成工具是一种高效开发辅助软件,它旨在简化Java应用程序中的数据模型对象(也称为实体类)的创建过程。...通过不断反馈和优化,这类工具会变得更加智能和完善,为开发团队带来更大的便利。
3. `Integer`类:作为`int`的包装类,提供了将整数与字符串之间转换的便利方法,以及一些数学运算和比较操作。研究`Integer`源码有助于理解自动装箱拆箱的过程。 4. `ArrayList`类:基于数组实现的动态列表,允许在...
在本项目中,“小芳便利店java实现”是一个简单的Java编程示例,用于模拟便利店的货物购买过程。这个项目的核心功能是让顾客可以分次选择商品,然后一次性结算购物篮中的所有商品。通过分析给定的文件名,我们可以...
需要注意的是,尽管这类工具提供了很大的便利,但为了确保安全,使用前应确保来源可信,避免引入潜在的安全风险。此外,了解和熟练掌握Java类路径(Classpath)的概念也是每个Java开发者必备的基础知识,这对于理解...
包装类提供了许多便利的方法,例如,将字符串转换为对应的数值类型,或者进行数值比较。 在处理对象时,工具类经常扮演重要角色。例如,Apache Commons Lang库中的StringUtils类,提供了大量处理字符串的方法,如...
Java工具类是编程实践中不可或缺的一部分,它们为开发者提供了便利的功能,可以大大提高开发效率。在Java中,工具类通常是一些静态方法的集合,用于执行特定的任务,如处理字符串、日期、数组、集合等。本篇将详细...
JavaZip压缩类是Java编程语言中用于处理ZIP文件格式的核心工具,主要集中在java.util.zip包中。这个包提供了多种类和接口,使得开发者能够轻松地对数据进行压缩和解压缩,尤其是在开发需要处理大量数据的应用时,如...
【小方家的便利店(JAVA)】项目是一个基于JAVA编程语言实现的软件测试作业,旨在帮助学生理解和掌握软件测试的基本概念和技术,同时锻炼其在实际场景中应用JAVA编程的能力。这个项目的实现通常会涵盖以下几个核心...
总的来说,JavaUtils工具类是Java开发中的重要组成部分,它们为日常编码工作提供了极大的便利。理解并熟练运用各种工具类,能够提升我们的开发效率,同时让代码更加简洁和易维护。在实际工作中,根据项目需求选择...
内部类可以访问外部类的所有成员,包括私有成员,这为实现复杂的设计和封装提供了便利。同时,内部类可以实现多重继承的效果,因为一个内部类可以实现多个接口,同时外部类可以继承一个类。 在`Java集合排序及java...
Java是一种广泛使用的面向对象的编程语言,其丰富的类库为开发者提供了极大的便利。"常用公共JAVA类,基础类"这个项目显然聚焦于提供一套实用的Java基础类库,旨在简化开发过程,提高代码复用性。这个类库包含了...
此外,内部类可以访问外部类的成员变量,这为内部类的实现提供了便利。 5. 内部类的特殊形式 - 匿名内部类可以创建只用一次的类实例。 - 局部内部类通常和方法的参数结合,用于解决小型、一次性的需求。 6. 内部类...
Java包装类是Java编程语言中的一个关键特性,主要用于将...总之,Java的包装类在处理基本类型与对象交互时起着至关重要的作用,提供了丰富的功能和便利。在实际开发中,熟练掌握包装类的使用能提高代码的可读性和效率。
在IT领域,跨语言通信是常见的需求,尤其是在服务器端开发中。PHP作为一款广泛使用的脚本语言,有时候需要与Java...JavaBridge为这种跨语言的交互提供了便利,使得开发人员可以更加灵活地选择适合的开发工具和语言。
【JAVA对象序列化保存为XML文件的工具类】 在Java编程中,对象序列化是一种将对象的状态转换为字节流的过程,以便可以存储或在网络上传输。而在反序列化时,这个字节流又可以恢复为原来的对象。Java提供了一个方便...
3. Store:小芳便利店 主程序 -static final Goods[] GOODS //所有商品 -static Basket basket //存放选中商品的购物篮 -static final String MESSAGE_HEADER //菜单顶部 -static final String MESSAGE_FOOTER //...
这些工具类通常会提供一些便利的方法,如字符串格式化、集合转换、文件流复制等。 总结起来,这个Java工具类集合是一个全面的实用工具库,涵盖了文件操作、日期时间处理、XML解析、数字格式化、数据库操作以及正则...
总的来说,这个“RSA+AES加密工具类 Java”为开发者提供了一个便利的工具,帮助他们在Java项目中集成高级的加密功能,确保数据的安全传输和存储。通过合理地使用RSA和AES,可以在不牺牲效率的前提下提高应用的安全性...
本篇将详细介绍如何利用这三个工具,通过`generatorConfig.xml`配置文件,自动生成Java实体类、映射接口以及映射文件。 首先,Maven是一款强大的项目管理和依赖管理工具,它能够自动化构建、测试和部署Java项目。在...