随笔分类 -  JAVA

JtextField的延时更新
摘要:import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Timer;import java.util.TimerTask;import javax.swing.JApplet;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JTextField;import javax.swi 阅读全文

posted @ 2013-10-24 14:02 CVT-wangxin 阅读(368) 评论(0) 推荐(0)

Java 动态代理机制分析及扩展,第 2 部分(转)
摘要:转自:http://www.ibm.com/developerworks/cn/java/j-lo-proxy2/本文希望将 Java 动态代理机制从接口扩展到类,使得类能够享有与接口类似的动态代理支持。设计及特点新扩展的类名为 ProxyEx,将直接继承于 java.lang.reflect.Proxy,也声明了与原 Proxy 类中同名的 public 静态方法,目的是保持与原代理机制在使用方法上的完全一致。图 1. ProxyEx 类继承图 与原代理机制最大的区别在于,动态生成的代理类将不再从 Proxy 类继承,改而继承需被代理的类。由于 Java 的单继承原则,扩展代理机... 阅读全文

posted @ 2013-04-20 10:22 CVT-wangxin 阅读(242) 评论(0) 推荐(0)

Java 动态代理机制分析及扩展,第 1 部分(转)
摘要:转自:http://www.ibm.com/developerworks/cn/java/j-lo-proxy1/引言Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分 派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本文,读者将会对 Java 动态代理机制有更加深入的理解。本文首先从 Java 动态代理的运行机制和特点出发,对其代码进行了分析,推演了动态生成类的内部实现。回页首代理:设计模式代理是一种常 阅读全文

posted @ 2013-04-20 10:21 CVT-wangxin 阅读(202) 评论(0) 推荐(0)

Java 继承设计技巧--摘自《JAVA核心技术》
摘要:摘自《JAVA核心技术》第5章(1)将公共操作和域放置在超类 (2)不要使用受保护的域 有些程序员认为,将大多数的实例域定义为protected是一个不错的主意,只有这样,子类才能够在需要的时候直接访问他们。然而,protected 机制并不能够带来更好的保护,其原因主要有两点。第一,子类集合是无限制的,任何一个人都能够由某个类派生一个子类,并编写代码以直接访问 protected的实例域,从而破坏了封装性。第二,在Java程序设计语言中,在同一个包中的所有类都可以访问protected域,而不管它是否为 这个类的子类。 (3)使用继承实现“is-a”关系 使用继承很容易得到节省代码的目的,但 阅读全文

posted @ 2013-04-19 16:15 CVT-wangxin 阅读(202) 评论(0) 推荐(0)

instanceof和getClass()的区别
摘要:classA{}classBextendsA{}Objecto1=newA();Objecto2=newB();o1instanceofA=>trueo1instanceofB=>falseo2instanceofA=>true//<================HEREo2instanceofB=>trueo1.getClass().equals(A.class)=>trueo1.getClass().equals(B.class)=>falseo2.getClass().equals(A.class)=>false//<======= 阅读全文

posted @ 2013-04-19 14:57 CVT-wangxin 阅读(174) 评论(0) 推荐(0)

JAVA基础学习笔记:有趣的静态方法
摘要:摘自《JAVA核心技术》第4章import java.util.*;public class welcome { public static void main(String[] args) { /* * Test 1: Methods can't modify numeric parameters */ System.out.println("Testing tripleValue:"); double percent = 10; System.out.println("Before: percent =" + percent); percen 阅读全文

posted @ 2013-04-18 15:32 CVT-wangxin 阅读(157) 评论(0) 推荐(0)

导航