`

java 泛型的相互绑定

 
阅读更多
我写的一个例子,源码在附件。代码意思:限定了订阅者和发布者的类型
public interface Observer<S extends Observable<S, O, A>, O extends Observer<S, O, A>, A>{
	
	 void update(S s,  A arg);

}




public class Observable<S extends Observable<S, O, A>, O extends Observer<S, O, A>, A> {
	 private Vector obs=new Vector();
	
	 public synchronized void deleteObservers() {
	        obs.removeAllElements();
	    }
	 
	public synchronized void addObserver(O o) {
		 if (o == null)
	            throw new NullPointerException();
	        if (!obs.contains(o)) {
	            obs.addElement(o);
	        }
	}
	
	 public void notifyObservers(String name) {
		 Object[] arrLocal = obs.toArray();
		 for (int i = arrLocal.length-1; i>=0; i--)
	            ((Observer)arrLocal[i]).update(this, name);
	    }

}





0
0
分享到:
评论

相关推荐

    [Java参考文档].JDK6.0API官方中文版.zip

    9. **XML处理**:JDK6.0对XML处理进行了优化,如SAX和StAX解析器的性能提升,以及JAXB(Java Architecture for XML Binding)的改进,使得XML数据绑定更加便捷。 10. **Java应用程序启动器**:JDK6.0改进了`javaw....

    Absolute Java (5th Edition)

    《Absolute Java(第五版)》是Walter Savitch所著的一...然而,教材中提到的各章内容无疑会深入涉及以上知识点,并可能会有更多相关的高级话题,例如泛型、注解、网络编程、数据库连接以及Java 8引入的函数式编程等。

    北大java .PPT

    最后,PPT可能还会涉及Java的高级特性,如泛型、枚举、注解、Lambda表达式等,这些都是Java 5及以上版本引入的,极大地提高了代码的可读性和可维护性。 总之,这份【北大Java教程】PPT是一份全面的Java学习资料,它...

    Java对Json的一系列操作(构建、json与对象的转换)

    总结,Java对JSON的操作主要包括构建JSON对象、将JSON字符串转换为Java对象、将Java对象转换为JSON字符串,以及与Map对象的相互转换。开发者可以根据项目需求选择Gson、Jackson或其他库进行JSON处理。理解并熟练掌握...

    想学java,新手学java,怎样才能学好java,java视频教程,零基础学习java--java学习指导文档.doc

    - **封装**:将数据和行为绑定在一起,隐藏对象内部细节。 - **继承**:子类可以继承父类的属性和方法。 - **多态**:同一接口多种实现方式的能力,通过方法覆盖或方法重载实现。 ##### 4. Java 基础知识 - **类与...

    Java全阶段综合笔试面试题(含答案).docx

    18. **Java泛型的理解** - 泛型允许在类、接口和方法中使用类型参数。 - 泛型提供了类型安全,并避免了类型转换的需要。 19. **JAVA源文件中是否可以包括多个类,有什么限制** - 可以包含多个类,但只能有一个...

    Java面向对象应用程序开发

    封装是将数据和操作数据的方法绑定在一起的过程,防止外部代码直接访问内部数据,提供公共接口来控制数据的访问。在Java中,通过设置访问修饰符(public, private, protected)来实现封装,确保数据安全。 3. **...

    Java软件开发实战 Java基础与案例开发详解 19-8 练习题 共5页.pdf

    Java 集合框架和泛型机制 - **Collection接口** 定义了一个对象的集合。 - **Set** 和 **List** 接口提供了不重复集合和有序集合的实现。 - **Map** 接口用于存储键值对。 - **泛型** 使得类型参数化成为可能,...

    java面试中重点题目

    **JAXB技术**:Java Architecture for XML Binding,用于实现Java对象与XML文档之间的相互转换。 **转换流程:** 1. 定义Java类,标注`@XmlRootElement`和`@XmlElement`等注解。 2. 使用`JAXBContext`实例化对象并...

    jackson-core-asl-1.7.2.zip

    6. `TypeFactory`:负责处理Java泛型类型的信息,确保在反序列化时能正确地恢复原始类型。 总的来说,Jackson-core-asl-1.7.2提供了强大的JSON处理能力,它使得Java开发者能够便捷地处理JSON数据,无论是网络通信...

    jackson-mapper-asl-1.9.11.jar

    - 支持泛型:Jackson支持对Java泛型的处理,使得复杂的数据结构也可以轻松地进行序列化和反序列化。 - 性能优异:Jackson以其高效的性能著称,尤其在大数据量的处理上,表现优越。 3. 使用示例: 在实际应用中,...

    java面试题

    - **方法覆盖**: 在Java中,无法覆盖`static`方法,因为这些方法是在编译时期静态绑定的,而方法覆盖则依赖于运行时动态绑定。因此,`static`方法与类的具体实例无关。 #### 4. static环境中访问非static变量 - **...

    百度面试题汇总(java)

    5. **Java常用知识**:这部分内容可能包括但不限于Java的数据类型、面向对象特性、异常处理机制、泛型、反射等。 6. **Struts工作原理**:Struts是早期流行的MVC框架之一,面试官可能会询问其核心组件如Action、...

    josn 各种转换

    总结,JSON的各种转换主要涉及JSON字符串与Java对象的相互转化,而Jackson作为强大的库,提供了丰富的功能来简化这个过程。理解并掌握这些转换方法和Jackson的高级特性,对于提升Java开发中的数据处理效率至关重要。...

    jackson2.x主要jar包

    数据绑定模块是Jackson最强大也是最常用的组件,它使得可以通过简单的API直接将JSON与Java对象相互转换。`ObjectMapper`是这个模块的主要类,它可以将任何Java对象序列化为JSON,或者将JSON反序列化为Java对象。...

    json所需包

    `jackson-core`是基础模块,负责基本的流式API,而`jackson-databind`则提供了面向对象的映射功能,允许直接将JSON与Java对象相互转换。Jackson还支持注解,使得数据绑定更具灵活性,可以处理复杂的Java类型,包括...

Global site tag (gtag.js) - Google Analytics