- 浏览: 556634 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (144)
- struts (1)
- 数据库 (13)
- Ext (4)
- mysql (10)
- PHP (2)
- informix (1)
- js (9)
- java (41)
- struts2 (9)
- wap (2)
- 浏览器 (2)
- hibernate (1)
- android (19)
- ibatis (2)
- css (1)
- 上传 html (1)
- kindeditor (1)
- sql service (2)
- spring (7)
- xml (1)
- oracle (1)
- log4j (2)
- 日期 (2)
- swing (5)
- jquery (4)
- eclipse (4)
- Maven (1)
- BUG (5)
最新评论
-
msdghs:
LZ你好,看了你的文章略有所获,但是里面的一些机制不是很明白, ...
spring quartz集群配置 -
linksky1018:
是我弄错啦,我忘了进行url解码了
java 汉字转Unicode -
linksky1018:
纯汉字转换还行
java 汉字转Unicode -
linksky1018:
貌似有问题吧
java 汉字转Unicode -
kizz:
谢谢您,帮了大忙
struts2 上传 验证图片大小 长宽
public static List<Class> getAllClassByInterface(Class c) { // 返回结果 List<Class> returnClassList = new ArrayList<Class>(); // 如果不是一个接口,则不做处理 if (c.isInterface()) { // 获得当前的包名 String packageName = c.getPackage().getName(); try { // 获得当前包下以及子包下的所有类 List<Class> allClass = getClasses(packageName); // 判断是否是同一个接口 for (int i = 0; i < allClass.size(); i++) { // 判断是不是一个接口 if (c.isAssignableFrom(allClass.get(i))) { // 本身不加进去 if (!c.equals(allClass.get(i))) { returnClassList.add(allClass.get(i)); } } } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } return returnClassList; } // 从一个包中查找出所有的类,在jar包中不能查找 private static List<Class> getClasses(String packageName) throws ClassNotFoundException, IOException { ClassLoader classLoader = Thread.currentThread() .getContextClassLoader(); // 用'/'代替'.'路径 String path = packageName.replace('.', '/'); Enumeration<URL> resources = classLoader.getResources(path); List<File> dirs = new ArrayList<File>(); while (resources.hasMoreElements()) { URL resource = resources.nextElement(); dirs.add(new File(resource.getFile())); } ArrayList<Class> classes = new ArrayList<Class>(); for (File directory : dirs) { classes.addAll(findClasses(directory, packageName)); } return classes; } private static List<Class> findClasses(File directory, String packageName) throws ClassNotFoundException { List<Class> classes = new ArrayList<Class>(); if (!directory.exists()) { return classes; } File[] files = directory.listFiles(); for (File file : files) { if (file.isDirectory()) { assert !file.getName().contains("."); classes.addAll(findClasses(file, packageName + "." + file.getName())); } else if (file.getName().endsWith(".class")) { // 去掉'.class' classes.add(Class.forName(packageName + '.' + file.getName().substring(0, file.getName().length() - 6))); } } return classes; } 出处:[url]http://hi.baidu.com/mengfanbo19876/item/076a741267d85c0a1894ecd1[/url]
发表评论
-
不同版本的web.xml配置
2016-07-12 10:33 1091web.xml v2.3 <?xml version ... -
在线裁剪图片 Jcrop
2016-01-30 10:49 1599Jcrop 是一个功能强大的 jQuery 图像裁剪插件,结合 ... -
java.lang.OutOfMemoryError: PermGen space
2014-12-12 15:24 752解决办法增大tomcat JVM内存设置 参数说明: -Xm ... -
struts2的iterator标签遍历HashMap
2014-11-17 10:56 772hashmap中保存的是string,object,objec ... -
java session统计在线人数
2014-11-17 09:00 1001首先创建监听器,监听器实现ServletContextAttr ... -
Log4j写入数据库详解
2014-09-04 16:10 850log4j是一个优秀的开源日志记录项目,我们不仅可以对输出 ... -
将jar文件打包成exe安装文件(三)
2014-08-13 09:43 921通过前两篇 将jar文件打包成exe安装文件(一) ... -
将jar文件打包成exe安装文件(二)
2014-08-13 09:34 1095在上一篇中《将jar文件打包成exe安装文件(一)》介绍了,如 ... -
将jar文件打包成exe安装文件(一)
2014-08-13 09:26 1595将java项目打成exe可运 ... -
如何用java jdbc 向数据库表插入大数据量
2013-11-26 17:17 2042jvm:-Xmx1024m size = 1000000,可以 ... -
java获得当前时间一小时前的时间
2013-10-29 15:30 3481Calendar calendar = Calendar. ... -
log4j 日志输出至数据库
2013-10-28 11:19 20231、首先配置log4j ### set log leve ... -
使用Dom4j合并多个xml文件
2013-09-25 16:55 4933SAXReader saxReader = new SAX ... -
Java利用Ibatis的ScriptRunner解析sql
2013-09-11 13:28 5473需要导入mybatis-3.0.5.jar包 java直接解析 ... -
java 解析sql脚本
2013-08-29 14:27 1579java执行sql脚本,一种是解析sql脚本,生成每一条sql ... -
Spring 泛型 反射调用方法
2013-08-26 14:52 1698Object cz=springUtil.getBean( ... -
spring中使用ApplicationContext
2013-08-26 14:47 1060声明一个SpringUtil,并且实现ApplicationC ... -
Java urlrewriter 第一节 初识urlrewriter
2013-08-01 09:54 919urlrewrite顾名思义,就是对URL进行重写,用户得到的 ... -
java 修改 读取properties文件
2013-07-25 14:04 1418/** * 根据key获取prpperties中的某 ... -
java实现zip压缩、解压
2013-07-25 11:06 15353/** * 解压缩 * @param warP ...
相关推荐
在Java编程中,有时我们需要获取特定路径下所有实现了某个接口或者继承了某个类的子类。这个场景在大型项目中尤为常见,例如进行组件扫描、依赖注入或是单元测试时。在给定的代码示例中,它展示了如何通过Java来实现...
1. **方法覆盖**:当子类继承父类并重写父类中的方法时,通过父类引用调用该方法,将执行子类中的版本。这是多态性的一种体现。 2. **构造器与初始化**:子类对象在创建时会先调用父类的构造器,确保父类的状态得到...
在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和优缺点。本文将深入探讨这两种概念,帮助你理解它们之间的区别以及如何在实际开发中选择使用...
泛型接口是泛型在接口中的应用,它允许我们在接口中定义带有类型参数的方法,使得实现该接口的类可以使用不同的数据类型。下面我们将详细探讨Java泛型接口的相关知识点。 1. **泛型接口的定义** 泛型接口的定义...
实现接口的类必须提供接口中所有方法的具体实现,例如: ```java public class Piano implements Instrument { public void play() { System.out.println("Playing the piano..."); } } ``` 接口在软件设计中起...
1. **抽象方法:** 接口中所有的方法都是抽象的,而类中可以包含非抽象的方法。 2. **多继承:** 在Java中,类不能多继承,但一个类可以实现多个接口,这为多继承提供了一种变通的方式。 3. **实现机制:** 类通过...
java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....
- **模板方法模式**:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。Java中,通过抽象类定义模板方法,子类实现具体步骤。 - **观察者模式**:定义对象间的一对多依赖关系,当一个对象的状态发生改变时,...
每个具体的鸭子类只需要关注自己如何“走路”(实现接口中的方法),而不关心其他鸭子是如何行动的。这种松耦合使得添加新的鸭子类型变得简单,只需创建一个新的类并实现`Duck`接口即可。 在压缩包文件`DuckMode`中...
在Java中,状态通常通过实现接口或继承来切换。 21. **策略模式(Strategy)**:定义一系列算法,把它们一个个封装起来,并使它们可以相互替换。在Java中,策略类通常实现同一个接口,客户端可以根据需要选择策略。...
在Java中,可以定义一个工厂接口和多个实现该接口的具体工厂类。 7. **门面模式**:门面模式为复杂的子系统提供一个简化的统一接口,使得客户端不必了解子系统内部的复杂性。在Java中,门面模式通常用于封装第三方...
22. **模板方法模式(Template Method)**:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。Java中通过抽象类和具体子类实现。 23. **访问者模式(Visitor)**:表示一个作用于某对象结构中的各元素的操作。...
在这个例子中,可能会有一个抽象类或接口定义了通用的行为,然后有多个子类实现这些行为。通过父类引用指向子类对象,我们可以看到多态的效果。具体的实现细节可以通过查看这个文件来学习。 总之,多态是Java编程中...
Java 1.8允许在接口中定义默认方法(default methods),默认方法有具体实现,可以避免接口升级时对实现类的修改。同时,接口还可以定义静态方法,为接口提供工具类的功能。 八、并发与多线程 Java 1.8在并发包java...
接口中的方法都是抽象方法,必须由实现该接口的类来实现。一个类可以实现多个接口,但一个类只能继承一个抽象类。 例如,我们可以定义一个接口“InterfaceA”,它有一个抽象方法“methodA()”。 public interface ...
在Java语言中,面向对象编程得到了广泛的应用,这使得Java成为企业级开发的首选语言之一。下面将详细阐述Java中的面向对象编程知识点。 1. 类与对象 - 类:类是创建对象的模板,定义了对象的属性(数据成员)和...
Java中的`java.util.Observer`和`java.util.Observable`接口提供了标准的实现。 5. **装饰器模式(Decorator Pattern)**:动态地给一个对象添加一些额外的职责,可以独立增加功能,同时保持接口一致。Java中的IO流...
12. 模板方法模式(Template Method):定义一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 13. 观察者模式(Observer):定义对象间的一对...
Stub需要实现endpoint接口,同时还要实现或继承`javax.xml.rpc.Stub`接口或其子类。`javax.xml.rpc.Stub`接口提供了设置和获取网络通信和认证相关属性的机制,如ENDPOINT_ADDRESS_PROPERTY(服务的互联网地址)、...
12. **模板方法模式**:在一个方法中定义一个算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。Java中,使用抽象类和方法的覆盖实现。 13. **命令模式**:...